graphics: make coal-smoke a separate layer to animate

I have verified that the output images are not changed by this commit.
graphics: make smoke separate layer on four IND zones
MakeTiles: use an XML format for the tiles index

this will allow me to more easily add features (like animation)
without evolving into a hard-to-parse custom file format
tile-names: teach GUI how to load images for dyn-numbered tiles

(this only handles the main view, it does not do anything for the overlay view)
MakeTiles: change format of tiles.idx (preparing for future capability)
TileImages: allow loading a named tiles pack...

and make the overlay map use the 'sm' mapping
MakeTiles: make tile drawing code more object-orientated

Separate classes for tile layers, tile sprites, etc., to make it easier
to introduce more complicated/flexible tile configurations in the future.
MakeTiles: implement support for files specifying an animation
MakeTiles: track target size when loading a source image
MakeTiles: refactor: paving the way to allow multiple images per tile
MakeTiles: working on support for animated tiles
MakeTiles: fix a couple bugs in code for loading animation
MakeTiles: refactor: move TileImage classes into separate file
MakeTiles: Animation: draw the frames for different times during the animation
TileImages: put placeholder for animated tile support
TileImages: use experimental "fountain.ini" animation file
TileImages: draw animated frames

(still need to implement redrawing of animated frames)
TileImages: auto-redraw animated tiles
animation: make FIRE an animation
debug: giev more information on assertion failures