Enable GL_KHR_shader_subgroup properly

(and GL_NV_shader_subgroup_partitioned) based on GL/ES version
instead of predicating it on vulkan SPV generation

Also add AST testing.
The glsl.450.subgroup* files are largely the same as the spv.subgroup*
The glsl.es320.subgroup* files are the same as the 450 versions, but modified to be ES compatible.
diff --git a/Test/glsl.es320.subgroup.tese b/Test/glsl.es320.subgroup.tese
new file mode 100644
index 0000000..29a9748
--- /dev/null
+++ b/Test/glsl.es320.subgroup.tese
@@ -0,0 +1,12 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(isolines) in;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}