Made (Un)Bind methods const.

So I could pass these objects to functions as const.
Added Getters For Texture Units And Binding

These allow the current texture unit and texture binding to be queried.
Added Texture Units To Uniform Binding

You can now specify which texture unit a texture is bound to when
setting it to a uniform.
Make Sure TU Is Bound When Setting Uniforms

So that you can just set the uniform when drawing.
Added Uniforms Without Binding

It either uses glProgramUniform, or sets the previously-bound program
object back after setting the uniform.