Created a new class to act as a datastructure for TileTypes.
Large commit: refactored existing code such that TileType information is now stored in the new datastructure.