First commit introducing the Terrain class. It doesn't work right now.