Build a PipelineShaderStageCreateInfo for a single SPIR-V module with
entry point main. The returned ReleaseKey frees the module — release it
once the pipeline is built.
The spec argument supplies specialization constants (see
Vulkan.Utils.Pipeline.Specialization); pass () for none.