This is to be in line with requirements from HLSL/DX12 and WebGPU,
both of which do not support this. It's probably better to get
started removing our usage of them now :-)
* Image transition layouts are not handled correctly yet, so auto exposure does not work
* Image usage and guessed image layout is redone to remove some errors
* Now shader recompilation happens only when it needs to. Hurray for faster compiles!
* Changes to constructors for ShaderSource to make it more explicit.
* The version of SPIRV-Cross is updated, and now the glslang version pulled correctly matches what SPIRV-Cross needs. This fixes the annoying "cannot parse built-ins" bug.