Bunch of fixes from running valgrind on Ubuntu.

The only error found was TileDefDialog::loadTilesets() using an uninitialized
variable (the compiler should have caught this?).

Some BuildingEditor manager-type classes are freed in ~MainWindow() instead
of ~BuildingEditorWindow() because they are created in InitConfigFiles().

Other changes are related to ensuring memory is freed and to class member
initialization order.
Close the .tiles editor cleanly when quitting the application.

When quitting the application, give the user a chance to save any changes
in the TileDefDialog.
Simplify the use of TilesetManager::mWatcher.

Only add a tileset image file to mWatcher after a tileset image is loaded
by a thread, and never stop watching that file because it persists in the
tileset image cache.
Use the updated WorldEd icon.
Removed some unused code.