Re-do the map structures and saving & loading of maps.
Now, there is an abstract class TileMap, which contains the main things
of a tile map.
Then, there is a RawMap - a map, which is composed of tiles and only
tiles.
At the end, there is a WorldMap, which is composed of tiles, entities
etc.