Add perlin noise terrain generation

-Generates terrain for world and cells
-Stricter heightmap requirements for world map
  -Discards any mostly-land or mostly-water worlds
  -Result is more islandy maps, no noticeable slowdown
-Map view and Cell view work
  -Map will generate cells when needed
-Moved image loading to image class
-Some general code cleanup