Texture Handling Improvements and Other Fixes

Various improvements such as addition of missing texture functions, clarity between Direct3D and OpenGL as well.

* Implements OpenGL sampler catch so that it emulates our Direct3D system and YYG functions correctly, and also more efficiently. OpenGL3 uses the proper sampler objects extension, OGL1 uses an emulated version which uses a little more RAM 47 bytes per texture to be precise. Read forum post for more details.
http://enigma-dev.org/forums/index.php?topic=2091
* Implements automatic mipmap generation for all graphics systems, can be applied to backgrounds, sprites, or through the texture_add function. You can not however specify the number of mipmap levels, I figured out how you can with OGL, but D3D doesn't appear to have a way to do that, but I am not concerned because Unity3D doesn't let you specify the number of mipmaps either.
http://docs.unity3d.com/ScriptReference/Texture2D-ctor.html
However this greatly improves efficiency for large models, the multitextured terrain demo goes from 120fps to 500 fps for me.
* Implements texture functions to create a headless texture for efficiency.
* Adds some Direct3D11 code for surfaces and textures, not working yet obviously as I don't have time to write shaders for it yet and test it all. But it's there, it compiles, and draw_clear() still works.
* Resolves #773 Fixes parameter string and count function conflicts, they were being specified in two general headers, seems very inconsistent to consider them file manipulation functions so I made them platform main, since they are default parameters for any generic main method in almost every programming language. I tested these changes on Win32 and XLIB just to make sure nothing breaks and they seem to work fine, but our implementation does behave slightly differently than GM8.1, see the comments at the link below. 
https://github.com/RobertBColton/enigma-dev/blob/master/ENIGMAsystem/SHELL/Platforms/General/PFmain.h#L32

My recommendation is that this pull request be merged so that we are at least GM compatible until we discuss alternative solutions for texture management on the forum.