This is the Updated Framework

In this update, I fixed tonnes of bugs, and also updated the sprite and image classes.
Most importantly, I added support for tilemaps, so now you can create a tilemap object, but it only holds one tile texture, so you may have to make multiple tilemaps for floor, walls, etc.
It blits the map onto a surface you assign, and stores a list of rectangles in its instance so you can check collision with the tiles. 
When the class is instanced, data is stored in a variable, but the actual level itself is blit onto a surface which you can then put onto the screen. 
This allows for automatic sorting as it sorts depth according to when you instance what. That's basically all it does at the moment, but tune in for more soon.