Keep all cell map 0_FloorXYZ layers when a Lot has no 0_Floor layer.
Added command for automatically creating RoomDef objects.

There is a new RoomDefecator submenu in the Tools menu.

The first command will create RoomDef layers/objects in the selected area
or the whole map if nothing is selected.  This uses a flood-fill technique
that separates rooms based on floor tile and hitting walls.  Wall tiles are
identified by using BuildingEd's tiles/furniture.

The second command will merge selected RoomDef objects into a single room.

The third command will delete RoomDef objects on every level in the selected
area, or the whole map if nothing is selected.
Alt-left-click acts as an eyedropper for some BuildingEd tools.

For Door/Stairs/Window/Furniture tools, holding down alt hides the cursor
object and causes mouse-over highlighting of objects under the pointer.
Left-clicking a highlighted object switches to the appropriate tool and
displays the object's tile in either the Used Tiles or Used Furniture list.
Fixes to ObjectGroup visibility.

When an ObjectGroup is added, or when its visibility changes (due to clicking the checkbox in the
Layers/Levels/Objects docks), take into account the 'Highlight Current Level'
option.
Draw selected map objects less transparent.
Set the enabled state of BuildingEd > Building > Grime appropriately.
Don't always center a map object when it is selected in the Objects dock.

If the object is already fully onscreen, do nothing.
If it's partly onscreen, scroll a minimum amount.
If the object couldn't fit entirely onscreen, always center it.
First crack at TileLayersPanel.
Second crack at TileLayersPanel.

Use only a single instance managed by MainWindow instead of one instance per
MapDocument.

MainWindow saves/restores the width and scale.

Don't force size to the width of the list contents, use a QSplitter.

Added a "Show Tile Layers Panel" checkbox menu item to the View menu.

Double-clicking a tile selects and displays it in the Tileset dock.
StampBrush only emits altHover() when the brush is visible.

This handles the mouse pointer not being in the map view.
Force TilesetDock::tilePicked() to scroll to the tile in case the index didn't change.
Changed PgUp and PgDown to change levels, not layers.
Fixed RoomDefecator not gathering furniture tiles correctly.
Added "Select Unknown Walls" RoomDef command.
Documented the RoomDef commands.
Renamed Highlight Current Level -> Highlight Current Layer.
Documented the use of the Alt key to "pick" BuildingEd objects.