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
Do not ignore non-visible widget when setting a map.

At the time SetTextFromMap is called; the widget may not yet be visible but may be later (like if its state depend on another element not yet available).
All any text widgets to use templates, not just the one whose name are defined in the map

This allows to use more creatively the widget dependencies, without being bound to specified object names
Allow widget dependencies to work with progress bar.

Only images and textareas could be used previously.
Ideally, dependencies should work with any ui objects based on their visibility status. But trying to keep changes to a minimum.
Leave visibility status of progress text in notification up to the theme.
Update notifications default theme.

Using new dependencies and template behaviour. Make description text be multi-lined if there's enough room
change const-ness of class members as appropriate
change const-ness of arguments as appropriate
Fix notifications not using their allocated screen should the client unregistered before notifications queued could be processed.
Fix notification leaks should screen failing to be created...
Fix crash when exiting the fronted under some circumstances

Should the frontend quit while a client had registered but never displayed a notification would have resulted in a null dereference.
Fix whitespaces
Do not display "backend is online" notification, if no errors were displayed before
Restore previous backend disconnection message now that the notification theme can handle longer description text.

There's an extra space in it that could have been removed. Little bit less work to translate new strings.
minor improvement

This was a legacy of another implementation of DeleteAllRegistrations, and we don't need to remove the screen from the deleted screen list as we go
Translation cleanup/context change
Miscellaneous translation fixes

Make a string translatable.
Change the context of another string
Fix DVD playback when a still timeout is set.

The timeout should start running at the end of the cell not at the beginning.  Usually the cell only contains one frame so there's little difference but where there is video, all the parts of the code that query whether we are in a still get 'true' back right from the beginning of cell.  This can cause stuttering under some circumstances (e.g. VDPAU) because frames are not buffered.
Translation context fixes