Added heightmap functionality.

- Heightmaps and the associated family of methods (slope interpolation,
height validation, etc.) are, for the most part, now working and
documented.
- Added the DirectionUtils class for working with heightmaps; may be
useful later.
- Reduced the maximum map size to 4096 on a side due to
OutOfMemoryExceptions.  Possible plans in the works to cache TileMap
data to prevent future errors.