Separated Terrain and TileGrid

- Created a TileGrid class
- Terrain now has layers!
Separated Terrain and TileGrid