More work done on abstracting Texture objects.

Textures are now standalone objects that only link into the renderer dll via a data handle.
The data handle is a vector index for the renderer specific texture type.
The renderer is only in charge of allocating and releasing the texture type.
The Texture abstraction has to manually invoke methods to increase or decrease the reference count.
The ResourceLocator object now has a pointer to the actual resource caches.
GameContext construction now depends on ResourceLocator as well.
Change the renderer interface to be passed in the Texture objects.
Change Spritesheet API to accomodate the Texture change.
Change the dll to not throw any exceptions through the dll boundary.
Clean winmain from unneccessary headers.