Fixed handling of slopes in TileMaps.

- Adjusting the slope of a tile will now update its image accordingly,
do not use Tile.setImage() to adjust slope directly.
- TileMaps can now be given variation in appearance using the
randomizeFlats() method.  See the javadoc for details.
- Tiles now memorize their Tileset, and accordingly, require a tileset
to be initialized, meaning they can only be created from within TileMap.
Added the Temperate Grassland tileset.