Various, see desc.

- Break cyclic module constructor dependency between gl and texture
- Shader RenderState now stores an Uniforms instance instead of managing
an Uniform array
- Program now stores an Uniforms instance instead of managing the
setters, data, and uniform creation itself