[spirv-reader] Handle pointer to vector component

Add a new transform that replaces all uses of
pointers-to-vector-components with `load_vector_element` and
`store_vector_element` instructions.

Allow the parser to generate these pointers by enabling the IR
validation capability. Enable two tests that cover this.

Add new tests for the full SPIR-V to core IR flow.

Bug: tint:1907
Change-Id: Ic015cc855b7abb535d23376f88eb4c9f3ba5f086
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/170002
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/cmd/common/BUILD.bazel b/src/tint/cmd/common/BUILD.bazel
index c768f73..affb277 100644
--- a/src/tint/cmd/common/BUILD.bazel
+++ b/src/tint/cmd/common/BUILD.bazel
@@ -53,7 +53,6 @@
     "//src/tint/lang/core/constant",
     "//src/tint/lang/core/ir",
     "//src/tint/lang/core/type",
-    "//src/tint/lang/spirv/reader/common",
     "//src/tint/lang/wgsl",
     "//src/tint/lang/wgsl/ast",
     "//src/tint/lang/wgsl/common",
@@ -78,6 +77,7 @@
   ] + select({
     ":tint_build_spv_reader": [
       "//src/tint/lang/spirv/reader",
+      "//src/tint/lang/spirv/reader/common",
     ],
     "//conditions:default": [],
   }) + select({