Cache uniform locations in GL shaders
Remove unnecessary mUniforms
cache uniform values and only set if they change