Enable memory control for Sprite textures.
This is a FIRST iteration before implementing a real LRU cache. Right now it changes the Sprite interface, but does not change its default behaviour.

1- The sprite class is now holding its internal texture as private data
2- The sprite takes responsibility for loading its internal texture by holding a pointer to the texture manager
3- It can purge and load its internal texture data
4- It will always load its texture in the non-atlas constructor, as it needs to know its dimension
5- It will always load its texture before using it in beginTexture