Fix null shader module in raytracing tests
The dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.* tests use a shader module
multiple times in two different hit groups. The variable is in Move
container, so the first call to addShader() moves the module handle to
the pipeline object and replaces the variable's value with a null
handle. A subsequent call to addShader() then adds the null handle
as a shader stage module for another hit group.
I fixed it by just moving some code around to allow a second version of
addShader() that accepts a shared pointer instead.
Affects:
dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.*
dEQP-VK.ray_tracing_pipeline.build.gpu_cpuht.*
Components: Vulkan
Change-Id: Ic2a4998e79b23cd43aaa1f6f267f60469de8f83a