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 ~5% of the
available sheet space, so a future patch may want
to look into decreasing the terrain sheet size to
save some GPU memory.