do NSBundle work on the same thread

instead of locking self
also, protect the resourceDict
id → instancetype
Merge pull request #1970 from quicksilver/i1957

keep NSBundle calls on a single thread