[Clang] Permit `vulkan` as an OS for the SPIRV target architecture (#196101)
Summary:
This is currently rejected in two places, the toolchain creation and the
target itself. For the target we just permit it in the same way we alloe
things like 'amdhsa'. For the driver, the current handling just assumed
everything with 'vulkan' was HLSL. This shouldn't be true so we check
the source file type, and only push through actual HLSL files.
This is intended to more canonically support the 'CLSPV' target that
google has.