Refactor shadow map modelview and projection code
Refactor shadow map modelview and projection code

Explicitly store the modelview matrix and projection matrix used when the
shadow map is created.  These matrices only need be updated when
RenderShadowMap is called.  Previously, slightly different code was used to
draw and project the shadow map.

wolf96/glsl-optimizer,zeux/glsl-optimizer,mcanthony/glsl-optimizer,dellis1972/glsl-optimizer,zeux/glsl-optimizer,adobe/glsl2agal,djreep81/glsl-optimizer,zz85/glsl-optimizer,mapbox/glsl-optimizer,metora/MesaGLSLCompiler,adobe/glsl2agal,tokyovigilante/glsl-optimizer,wolf96/glsl-optimizer,djreep81/glsl-optimizer,dellis1972/glsl-optimizer,KTXSoftware/glsl2agal,zeux/glsl-optimizer,mapbox/glsl-optimizer,zz85/glsl-optimizer,djreep81/glsl-optimizer,wolf96/glsl-optimizer,KTXSoftware/glsl2agal,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,jbarczak/glsl-optimizer,zz85/glsl-optimizer,benaadams/glsl-optimizer,metora/MesaGLSLCompiler,djreep81/glsl-optimizer,zeux/glsl-optimizer,zz85/glsl-optimizer,bkaradzic/glsl-optimizer,jbarczak/glsl-optimizer,adobe/glsl2agal,bkaradzic/glsl-optimizer,zz85/glsl-optimizer,jbarczak/glsl-optimizer,KTXSoftware/glsl2agal,zz85/glsl-optimizer,KTXSoftware/glsl2agal,bkaradzic/glsl-optimizer,tokyovigilante/glsl-optimizer,adobe/glsl2agal,benaadams/glsl-optimizer,benaadams/glsl-optimizer,dellis1972/glsl-optimizer,djreep81/glsl-optimizer,mcanthony/glsl-optimizer,metora/MesaGLSLCompiler,jbarczak/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer,benaadams/glsl-optimizer,jbarczak/glsl-optimizer,tokyovigilante/glsl-optimizer,dellis1972/glsl-optimizer,adobe/glsl2agal,mapbox/glsl-optimizer,KTXSoftware/glsl2agal,zeux/glsl-optimizer,tokyovigilante/glsl-optimizer,wolf96/glsl-optimizer,dellis1972/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer,benaadams/glsl-optimizer,wolf96/glsl-optimizer,mcanthony/glsl-optimizer,mapbox/glsl-optimizer,benaadams/glsl-optimizer