Add getUniformIndices method plus error logging when uniform name is not found.
Add return 'this' statements to methods.
Rewrite shadow rendering shaders to use depth texture.