Added some extra protection in Cleaup_Sounds method to try and prevent access to disposed sounds and thus causing exceptions.
Rearchitected the unhandled exception handling to use the events provided by the application framework. This should allow the handlers to be attached much sooner than having to wait on the Main form to be created, possibly allowing an error occurring on Mac under mono to be caught by these methods rather than losing this information because they are not yet attached.