General Fixes and Improvements

* Implements additional thread functions for all platforms to be consistent with most programming APi's, includes start, join, and delete capability.
http://enigma-dev.org/docs/Wiki/Game_State_Functions
I have also created a unit test for the new thread functions.
https://www.dropbox.com/s/418nfng7eg5ag8z/threadjoinunittest.gm81
* Fix initialization order for SamplerState to resolve warning.
* Adds comparison and applying of all sampler states to model draw function, has no slow down but is necessary for the sampler states to be properly emulated, in which case you call the texture set function followed by a sampler state change before a d3d model draw call without passing a texture, in other words the sampler states need to be applied for all 8 stages.
* Significant performance increase added for OpenGL1 static models by placing the vertex arrays onto the GPU and clearing everything software side, this leads to a significant reduction in RAM usage as well as a drastic increase in framerate. Project Mario has gone from 237/239 frames per second to 261 for me, and the cubes demo has gone from 13fps to 201fps.
![Cubes Demo in OpenGL1](https://cloud.githubusercontent.com/assets/3212801/3870423/627686f8-20ce-11e4-9871-ed8ccf3e962f.png)