We previously were leaking all over the place due to improper use of memory management techniques and circular references
* English.lproj/Debugger.nib: Setting DebuggerWindowController as the window's delgate
* Source/AppDelegate.h: Adding a connections ivar
* Source/AppDelegate.m:
([AppDelegate init]): New method to initialize the connections array
([AppDelegate applicationWillTerminate:]): Frees the connections array
([AppDelegate registerConnection:]): New method to register a DebuggerConnection
([AppDelegate unregisterConnection:]): Unregisters a DebuggerConnection
* Source/ConnectWindowController.m:
([ConnectWindowController connect:]): We weren't properly release'ing the connection, so now we register it with the delegate and release it in the connect method
* Source/DeubggerConnection.h: Added a windowDidClose method so that the window controller can forward the message
* Source/DebuggerConnection.m:
([DebuggerConnection windowDidClose]): New method to forward the windowWillClose notification
([DebuggerConnection initWithPort:session:]): We no longer have to register for NSApplicationWillTerminate
([DebuggerConnection applicationWillTerminate:]): Removed
([DebuggerConnection dealloc]): Release _windowController
* Source/DebuggerWindowController.m:
([DebuggerWindowController initWithConnection:]): No longer retain the connection as it creates a circular ref
([DebuggerWindowController windowWillClose:]): Use this delegate method to buble the notification to the controller
([DebuggerWindowController dealloc]): Since we don't retain _connection, don't release it
* Source/SocketWrapper.m:
([SocketWrapper dealloc]): Remove ourselves as a notification observer so we don't have a nil reference