Clean up code some more

Added a screen-to-world and world-to-screen function in camera, and
moved some of the tile code to a static TileEngine class