Fix deadlock

If for whatever reason the BonjourRegister instance was deleted before the callback getting called ; the lock would have never been released.
The would cause the frontend failing to start following an early error to hang
Make Notification Center part of MythMainWindow

The notification center is only ever usable once MythMainWindow has been created and initialised. So to simplify the logic, make it a member of MythMainWindow

This fix a crash where the main window isn't initialized and the frontend exits early (like when the themes directory is missing)
Fix crash when called from non-GUI application (like mythutil)

mythcorecontext destructor calls GetNotificationCenter() ; which would have created the MainWindow