Crowd: Remove pointless reinterpret_cast
Crowd: Unbind warns if missing bge_Model uniform
internal/Graphics: Remove GL implementation data getters
internal/Graphics: Shadow states stack-allocated

If heap-allocated, we might run into issues when threads terminate.
There could be memory leaks, since they don't free the thread-local
_GL pointer. So we'll just have the states themselves be allocated
on the stack and make all the internal thread-entry functions
zero-mem their shadow state.
internal/Graphics: _ResetShadowState method added

Called by internal thread entry functions, as well as used when
initializing the internal graphics module. Removes the need for the
_InitShadowState method, so that has been removed.
Window: Remove warnings for Bind/Unbind

Binding a close window is equivalent to unbinding a window.
No need to prevent user from doing this.
Window: Close can be called on "closed" windows

This is so the main thread can close a window after a secondary thread
terminates once it realizes its window should close. Should-close and
closed are synonymous now, so that we don't have to put up a new wrapper
method called "ShouldClose" which threads will use explicitly.
Utility: Bind shared context before deiniting shader lib

The recent window changes exposed a memory leak. Since no window is
bound when Deinit is called, we need to bind the shared context before
freeing the shader library resources.

Also, the utility module and init/deinit procedures are really messy.
Shader library initialization should go to the internal graphics module,
as should the shared context. Also more error-checking needs to be done
so the shader library isn't deinitialized with no active context, in
the case where the shared context was not created.
test/thread: Now used to test thread windows.
test/thread: Second window used on second thread
test/thread: Rename entry function
Cube: Compress vertex/triangle data
Fix OS X compile issues
Bakge.h: Fix link issue on Win32
Remove osx_Mutex/Thread files
internal/Graphics: Fix wrong enums for locations
internal/Graphics: Use explicit attribute locations

Removed attribute locations array from the shadow state, as well as
related enumerations. Any object which had to set/get an attribute
location now uses the explicit locations.
Texture: Fix texture unit warning message

Was warning with wrong requested texture unit
Texture: Update warning message
Texture: Minor formatting change