Add tilesets needed by a building to TileMetaInfoMgr after loading a .tbx.

After reading a .tbx file, determine all the tilesets used by that building
and add them to Tilesets.txt if they haven't already been added.

The tilesets are looked for in the Tiles directory, assuming a .png suffix.
TileZed's preferences now save the location of the config-files directory.

Lemmy wanted the config-files directory to be shared over Dropbox.
The directory can be changed using the 'config' program.
Added config.exe for changing the config-files directory.
TileMetaInfoMgr::loadTilesetImage() uses TilesetManager::loadTileset().

A recent commit adds tilesets needed by a building when a .tbx file is loaded.
That code calls loadTilesetImage(), but loadTilesetImage() wasn't loading
those tilesets asynchronously.

The return value was also bogus (should have been boolean not a pointer).
Changed a label in the config.exe dialog.