Generate Lots fails with a warning when RoomDefs cross cell boundaries.
LotPackView handles scrolling better.

scrollContentsBy() gets called separately for x and y axes.  When zooming,
dx and dy can be quite large values.  So recenter the chunk map after a delay.
Merge branch 'master' into worldgen
Added saving and loading of PathWorlds.
Added removing nodes and paths.  Added hiding/showing paths.  Added joining paths.
Added WorldLevel and PathLayersDock.

PathWorld is divided into levels.  WorldLevel represents a single level
with a list of path layers and tile layers.

Each WorldPathLayer has its own WorldLookup now (there used to be only one,
managed by PathDocument).
Added adding/removing/reordering path layers.

...and PathDocument now tracks the current level and path/tile layers, rather
than each path scene.
Fixed changing script parameters not being undo-able.
WorldChunkMap handles changes to nodes/paths/scripts better.
Fixed changing script parameters not being undo-able.

ScriptParametersDialog changes the actual parameters, not saving the old ones.
WorldLookup tries to keep node/path indices up-to-date.

Each object in a quadtree has an index that is used to preserve the drawing
order of nodes, paths and scripts.  When inserting or deleting objects,
the indices of following objects are marked as invalid.

This isn't working correctly for scripts yet!
Added a tool for adding new segments to an existing path.
WorldChunkMap restricts tile painting to the chunk being loaded.