A little optimization to the default scene culling manager.

The issue here was that a 128x128 float (65536 bytes) buffer was being allocated every frame. This optimization comes at the expense of no more thread-safety for ProcessVisibleObjects calls.
An optimization to the OpenGL 3.3 renderer to remove all runtime occurrences of glGetIntegerv.

The state is now stored in the ServerState_OpenGL33 source files.
Remove a redundant assert.
A big optimization to setting shader uniforms.

The main thing here is the removal of excessive new/delete/malloc/free operations. Previously these operations were taking about 40-45% of the execution time of one of the threads. Now it's at around 9%. There's still some stuff to improve here, but it's much better.

Another big one is retrieving uniform locations. Previously the locations were being retrieved with glGetUniformLocation on the rendering thread for every non-texture uniform. Now we store the location manually and retrieve it on the update thread thread. It's OK to do this on another thread because the uniform locations are constant. Our uniform location retrieval is also categorized to make things a bit quicker. For example, float4x4 uniforms are separate from texture uniforms which in turn makes it a little quicker to retrieve that float4x4 uniform since it is no wasting time looking through other types.