Tidy TerrainRenderer formatting (no code changes).
Tidy TileSet formatting (no code changes).
Fix Animation formatting (no code changes).
Always store Sheet data as bytes.
Allow sheet contents to be exported to bitmap.
Allow SheetBuilder to throw an exception on sheet overflow.

This removes unnecessary checks from TerrainRenderer
and will be used in the voxel renderer.
Tidy Sprite.
Allow SheetBuilder to generate 1/2/4 channel sheets.

This makes the SpriteFont RBGA sprite hack explicit,
and adds a DualIndexed option to be used by the voxel
renderer.
Fix #2106.

The current tilesets only use only ~3% of the
available sheet space, so a future patch may want
to look into decreasing the terrain sheet size to
save some GPU memory.
Merge pull request #3282 from pchote/renderer-refactoring

Renderer refactoring - SheetBuilder