Add world generation routines.

World generation uses the diamond-sqaure algorithm to perform mid-
point displacement to simulate an organic height map. Rain erosion is
performed to smooth out the land, followed by a cellular erosion
algorithm to clean up isolated dots of water and land. A slight water
erosion is then applied to sink watery areas deeper.

After this is generated, a set of biomes are classified according to the
height/drainage/water status. I have some temperature stuff left over
from my old personal projects but it is not incorporated fully.

Finally, a second automaton is used to identify areas where the land
joins the water - this is then turned into beaches.