Projection matrices in C++ side now always produce a depth range of 0 to
1 for the NDC Z coordinate. Shaders will convert it to -1 to 1 when
targeting OpenGL.
Incidentally, the AmbientOcclusion effect's shaders were already written
as if the depth range was 0 to 1, so the effect was actually slightly
incorrect before this.