Restructured Textures class

Restructured Texture class to be non-static
- reorganized includes from header to cpp file
- now all data is heap allocated, better for potentially larger bmp
data, as opposed to static array
- now there is a getter for the pointer to the array of texture indices
- BitMapFile now a private internal class to the Texture class
- all textures are loaded when the global Textures object is created (no
need to call in GameState)

textures is now a global pointer to a Textures object (similar to game,
should be singleton)
- initialized in main function (similar to game)
- ***NOTE*** to avoid cyclic dependencies, the Game and Textures classes
are not included in the Globals header, they are only forward declared.
Now whenever a Global object is needed in a file, the proper header
(Game.h, Textures.h) must be included in the file as well

***To use textures***
-include Globals.h
-include Textures.h
-access the textures index array with a call to
textures->getTextureIndices()