Added dialog for editing .tiles files.
Added tooltips and various optimizations to MixedTilesetView.

The default tooltip behavior is overridden to display tooltips immediately
and over each item.

MixedTilesetModel gained a few optimizations which might not be needed.
Getting the tile properties dialog working.
Improvments to the tile properties dialog.

Added copying and pasting tile properties.  Multiple tiles may be copied
from and pasted to.  So the properties of a whole set of wall tiles may be
copied and then pasted onto another set of wall tiles.

The properties of selected tiles may be reset to the defaults.

Added a toolbar with copy/paste/reset buttons.

Added a label that shows the offset of the tile the mouse pointer is over
relative to a selected tile.

Added the Edit menu.

Save/restore the window geometry.
Save/restore the directory the last .tiles file was opened from.

Use QVariant for getting/setting property values.
Created PropGenericEnum base class for all enum properties.
Added saving .tiles files, string property combobox choices, etc.

Added Save in addition to existing Save As.

When closing the window, the user is prompted to save if needed.

Editing string properties is now possible.

String property combobox drop-down lists are populated with all the known
values for a property when a document is first opened.
New AddTilesetsDialog, 'New' command implemented,

AddTilesetsDialog allows the user add tilesets to a .tiles document.  It
only lists tileset images in the .tiles file's directory that haven't been
added already.

The 'New' command forces the user to choose a savefile location so that
tilesets can later be added from that directory.
Added TileProperties.txt.

The properties are now defined in TileProperties.txt rather than being
hard-coded.  Some individual properties that require special processing
are still hard-coded and appear as "special" blocks in the .txt file.

TileDefDialog creates the property editing widgets on the fly now.
Removed all the "special" enum properites from TileProperties.txt handling.

The WallStyle, DoorStyle, RoofStyle etc properties used to have subclasses
of their own, but it seems that isn't needed.  PropGenericEnum was changed
to handle the different enum properties.

UIProperty::ChangeProperty() no longer updates TileDefTile::mProperties,
removing the need to keep a reference to it.  Now mProperties is only updated
when reading/writing the .tiles file.

Also improved error handling reading TileProperties.txt.

The background color of tilesis changed to indicate any unknown properties.

The tile tooltip shows the properties that will be written to the .tiles file
as well as any unknown properties.
Added highlighting of tiles with matching properties.

Tiles with properties matching those of the tile the mouse pointer is over
are displayed with a different color.
Added tileset history to TileDefDialog, etc.

This history feature is similar to a web browser's go forward/back buttons.

Added a toolbar.  Buttons everywhere!

Save/restore the tile scale.

Fixed the wrong tileset being deleted, and the dialog's list of tilesets
not matching the order of the TileDefFile tilesets.

Try to maintain which row is selected when resetting the list of tilesets.

Fixed crash with undo/redo when the affected tile wasn't in the displayed
tileset.
Made various enum property methods use strings instead of ints.
Added "modify" commands to TileProperties.txt.

Any number of "modify" blocks can be added to TileProperties.txt.
Each "modify" block contains a series of commands that are run against
the properties dictionary of each tile after being read in from a .tiles
file.  These modifier commands can edit the properties of a tile.
This can be used to remove/rename/replace properties and values.
Added automatic layer-switching to BuildingEd's tile-edit mode.

The tileset dock gained a toolbar with a button to toggle the automatic
layer-switching option.

The tileset dock gained a context menu to change the default layer for
selected tiles.
Fixed tile layer names not being read when the image source for a tileset changed.

BuildingEd wasn't displaying the default layers for tiles because TileMetaInfoMgr's
tilesets have relative filenames (and are marked missing) when addReference()
is called, so readTileLayerNames() wasn't finding the tile layer names .xml files.
Added a <None> option to the Default Layer context menu in the tileset dock.

For some reason I didn't provide a way to clear the default layer name
assigned to tiles.
Added WallFurniture2 layer to BuildingEd.

I saw a lightswitch a shelf failing to coexist in the same space at the same time.
Delete the ToolManager and all tools when deleting BuildingEditorWindow.

I got a crash when TMXConfig.txt failed to load, fixing it, then trying to
open BuildingEd again.
User-defined layers in TMXConfig.txt are now added to building maps.

Previously, user-defined layers were only added to exported .tmx files,
they weren't used when editing tiles in BuildingEd.
Removed unused code from buildingtmx sources.
Save/restore the iso/ortho view mode and iso-view scale in BuildingEd.