Refactor tile map, add TileMapInfo2D struct.