Terrain generator

Added a bunch of optimizations and restructuring to the map generation. Caves are hard, so that will be a problem solved another day.
Ditto. We should probably just call this `noise.Simplex`. I really like how you moved all the noise into it's own package though, that is much nicer.