Split tileset artwork loading out of TileSet.

This simplifies terrain loading and allows for
non-square tiles in game.

The editor still relies on the old code for now.
Introduce TileSetRenderer for editor and utility.
Use TileSetRenderer for utility --tmp-png.
Use TileSetRenderer in the editor.
Remove TileSet rendering code.
Use Manifest.TileSize everywhere.
Allow tilesets to specify their sheet size.

Decreased the default size from 4096 to 512.
Remove obsolete IRenderAsTerrain.

This removes the technical limitation preventing
FrozenUnderFog on bridges.
Support .r8 tileset artwork.
Use uppercase extensions to support case-sensitive filesystems.
Merge pull request #3684 from pchote/tileset-fixup

TileSet Refactoring