Fixes batching in particle system

-Added blend mode caching so it doesn't change state whenever useless
blend mode function is called. This greatly speeds up GL3  and is on par
with GL1 and DX9.
-Added another hint to models - now they can be static, dynamic and
streaming. By default the batcher is streaming.
-Removed some ARB's from functions. They shouldn't be needed, as we use
many non-ARB functions which are dependent on the previously ARB ones.
So if the user could run the game previously, they should be able to run
it now.
-Removed some slow glGet from GL3ModelStruct.