Do not lock the worker thread unnecessarily

Because recursive dead lock.
Unload graphical resources before loading any

Prevents the same resource from being loaded twice at the same time,
could be replaced with detecting and aborting unloading.
Load rooms where we go