keep NSBundle calls on a single thread

…in `QSResourceManager`

I think @pjrobertson was right in #1861 when he said these calls should be on a single thread. But the actual code in #1871 didn’t keep it on one thread. It just locked `QSRez` so multiple threads couldn’t make changes simultaneously. We should probably avoid locking frequently used singletons like `QSRez` unless absolutely necessary.

I’ve attempted to change this so it queues things up on a single thread instead of locking the object. It seems to prevent the freezes people are reporting.

There aren’t as many changes as it looks like. It’s mostly indentation changes for things that aren’t wrapped in `@synchronized` any more.

fixes #1957
Actually, we probably don’t need to wrap the places where the `NSBundle` object is a local variable only. How could another thread send it a message in that case?