Finished the Tileset class

This class receives a tileset surface, and creates another private surface
based on the original that is used to draw to the screen faster.

On the whole, I don't know how much more efficient this is.