Improve nib file handling
Nib file handling needs to be improved in various ways:
- Keep track of the loaded files and unload if we no longer need the contents
- Keep track of the nib's files top level objects and dealloc these prior to unloading the nib (1)
- don't use shared instances of objects to communicate across multiple nib files
- nib file objects should communicate only through their files owner, nobody else
(1) this requires a bit of custom code, since none of our nib files is owned by a NSWindowManager.
For all of this, see this great doc: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
While all of this isn't exactly hard, it will need quite a bit of testing because of the interface's nested code structures.