Improve GLSL source program support
Old GLSL source program support in Vulkan framework was built on top
of glu::ProgramSources. This had two problems:
1) There was no obvious way to extend/annotate sources with SPIR-V
-specific information such as target SPIR-V version.
2) Most of glu::ProgramSources, such as attribute bindings or TF
configuration, was completely ignored.
This change introduces new vk::GlslSource type that replaces
glu::ProgramSources in vk::SourceCollections. vk::GlslSource contains
shader source strings as well as build options (vk::GlslBuildOptions).
vk::GlslBuildOptions doesn't currently contain anything useful but can
be later extended to support selecting target SPIR-V version for
example.
The change is mostly transparent to existing code, except:
* vkSpirvProgram.hpp was somewhat unnecessarily including
tcuTestLog.hpp and changing that to a forward declaration required
fixing includes in several test code files.
* vktShaderExecutor.cpp has been extended to allow specifying build
options.
Components: Vulkan
Change-Id: I69a6cd55ea91215585515b9d41860d818cbc97ae
(cherry picked from commit
fa7a45c9bcb909be38ffd55549beb6db5115a65b)