Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.

These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.

Contributed from Khronos-internal work.
diff --git a/known_good_khr.json b/known_good_khr.json
old mode 100644
new mode 100755
index 083e771..a64198a
--- a/known_good_khr.json
+++ b/known_good_khr.json
@@ -12,7 +12,7 @@
       "site" : "gitlab",
       "subrepo" : "spirv/SPIRV-Headers",
       "subdir" : "External/spirv-tools/external/spirv-headers",
-      "commit" : "4082a777bd5df31ed45acf40e64263094e85ed2e"
+      "commit" : "gitlab-prelim-rc4"
     }
   ]
 }