Fix 8-bit storage nearly always using the
UniformAndStorageBuffer8BitAccess capability.

When using the 8-bit storage extension it basically always used the
`UniformAndStorageBuffer8BitAccess` capability, even in cases where it
wasn't required. For instance if we are targeting Vulkan 1.1 (SPIR-V 1.3
or higher), and we are only using 8-bit types in an SSBO, we only need
the `StorageBuffer8BitAccess` capability.

I fixed this by enabling storage buffer use in Vulkan 1.1 / SPIR-V 1.3
or higher, and then changing the logic to match.

I also added some tests that will output different capabilities when run
on Vulkan 1.0 and 1.1, thus they are added twice to the test list (one
for each version).

Fixes #1539
diff --git a/Test/spv.8bitstorage-ssbo.vert b/Test/spv.8bitstorage-ssbo.vert
new file mode 100644
index 0000000..61ba7bf
--- /dev/null
+++ b/Test/spv.8bitstorage-ssbo.vert
@@ -0,0 +1,15 @@
+#version 450

+

+#extension GL_EXT_shader_8bit_storage: require

+

+layout(binding = 0) readonly buffer Vertices

+{

+    uint8_t vertices[];

+};

+

+layout(location = 0) out vec4 color;

+

+void main()

+{

+    color = vec4(int(vertices[gl_VertexIndex]));

+}