MakeTiles: impl support for SVG files

SVG files are converted to PNG files at the appropriate resolution
by calling out to Inkscape.exe (must be installed somewhere)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@747 d9718cc8-9f43-0410-858b-315f434eb58c
MakeTiles: when generating intermediate images, use a staging directory

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@748 d9718cc8-9f43-0410-858b-315f434eb58c
MakeTiles: fix bug in SVG->PNG logic

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@749 d9718cc8-9f43-0410-858b-315f434eb58c
MakeTiles: when converting an SVG file, specify DPI rather than expected width/height

This way we can handle multi-tile SVG source files (e.g. for the larger zones) correctly.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@750 d9718cc8-9f43-0410-858b-315f434eb58c
MakeTiles: allow making generated images of an SVG image in a subdirectory

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@751 d9718cc8-9f43-0410-858b-315f434eb58c
drawing-area: hold in-memory tile images in an object, rather than static variables

This will allow changing tile sizes on a per-window basis.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@752 d9718cc8-9f43-0410-858b-315f434eb58c
drawing-area: allow zooming in to 32px tiles

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@753 d9718cc8-9f43-0410-858b-315f434eb58c
tiles.rc syntax: allow inheriting of another tile's images/attributes

To inherit, just put the name of tile you want to inherit from in parenthesis
at the beginning of the specification.
E.g.

road-1-1     (road) roads/1-1 (road-north)(road-south)

will define a tile named "road-1-1", which first starts with all the images
and properties of tile "road" and then layers on top of that the 'road/1-1'
image, and then sets the 'road-north' and 'road-south' flags.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@754 d9718cc8-9f43-0410-858b-315f434eb58c
tiles.rc: use inheritance to define roads with traffic

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@755 d9718cc8-9f43-0410-858b-315f434eb58c
drawing-area: allow zooming from 8px to 32px, using unique graphics source for each level

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@756 d9718cc8-9f43-0410-858b-315f434eb58c
tile-animation: let tiles.rc determine coal plant's smoke animation

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@757 d9718cc8-9f43-0410-858b-315f434eb58c
engine: only use PWRBIT flag on zone center tiles

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@758 d9718cc8-9f43-0410-858b-315f434eb58c
tile animation: use tiles.rc to control termination of coal plant smoke

when the coal plant is killed

Also, this sets up a framework to handle industrial zones in the same way.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@759 d9718cc8-9f43-0410-858b-315f434eb58c
tile animation: make industrial zone smoke animations initiated by tiles.rc

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@760 d9718cc8-9f43-0410-858b-315f434eb58c
tile animation: make nuclear swirl handled same as coal smoke

that is, it starts only when setZonePower() is called for that zone,
and it automatically stops when killZone() is invoked.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@761 d9718cc8-9f43-0410-858b-315f434eb58c