MythWebView: remove the WheelEvent handler

This restores the default behaviour were if the mouse cursor is over the
WebView the mouse wheel will scroll the web page or frame. It will still
move the focus to the next/previous widget but only if the cursor is not
over the web page.
MythBrowser: add support for optional back/forward/exit buttons
MythCenter-wide: add a browser-ui.xml file for MythBrowser

This updates the browser window to add back, forward and exit buttons.
MythCenter: add a browser-ui.xml file for MythBrowser

This updates the browser window to add back, forward and exit buttons.
Ignore network error on an interface that no longer exists.

Under some circumstances, a network interface can disappear during the lifetime of the process. Simply ignore those rather than failing the whole process (by default, networking operations must work on all interfaces found)
MythMusic: fix the parsing of the shoutcast metadata with accented characters

This fixes a problem with the parser mangling the text encoding.
MythMusic: use the MusicBrainz freedb gateway to lookup a cd's metadata
MythMusic: treat all metadata from MusicBrainz's freedb gateway as utf8
MythMusic: fix a mix up with the genre handling in the freedb cd lookup

There's a slight difference between the output from freedb and the MusicBrainz
freedb gataway when doing a read operation which was causing the genre to get
mangled.

This also changes things so both the genre from the query and the read are
saved and we use the first non generic one we find which for MB will always be
from the query since MB doesn't support genre's so always gives us 'Unknown'
in the read :(
MythMusic: remove the MusicTagEncoding setting

This setting hasn't done anything since we switched to using taglib.

NOTE TO THEMERS: you should remove the 'tagencoding' selector and its text
label from the 'generalsettings' window in musicsettings-ui.xml.
Terra: remove 'tagencoding' selector and text area from musicsettings-ui.xml
If AV codec context doesn't match the context for which it was first opened, close/re-open it.

There's something suspiciously wrong about the way we handle change of streams. This is at best a work-around.

Fixes #11519
Update the Greek translation of mythfrontend.

Signed-off-by: Kenni Lund <klund@mythtv.org>
FFmpeg resync to FFmpeg release/1.2 at SHA1 33d699a4e73d5281b2cfcd0fa355c0d80241dd23
Initial implementation of Themed Menus.  Refs #11533

Themed Menus allows customization of menus through a hierarchical xml
description, consisting of actions, action groups, and submenus. An
action group is essentially a macro that expands into a possibly
context-dependent list of actions.

This is demonstrated by replacing the deeply complex and hierarchical
Playback OSD menu with a themed menu equivalent, defined in
menu_playback.xml in the themes/default/ directory.

In addition, a "compact" version of the Playback OSD menu is added,
with the MENUCOMPACT action and an associated keybinding to display it
(defaults to Alt+M).  The default compact menu contains just a single
entry that invokes the regular Playback OSD menu (for now, I don't
want to impose my personal preferences about the most commonly used
actions).  As such, the compact menu is useful even for remote
controls without extra buttons to spare -- simply remap the MENU
button to the MENUCOMPACT action in the "TV Playback" context.

When more menus are converted to themed versions, the MenuBase class
should be moved out of tv_play.cpp and tv_play.h into a new file.

Note: This commit is broken into two parts: addition of new code, and
deletion of old code.  This is to make the diffs vastly more readable.
Themed Menus part 2: remove old code.  Refs #11533
Themed menus: Prepend GetConfDir() to the search path.

This means $MYTHCONFDIR or ~/.mythtv is searched first.  Refs #11533.
Make substring comparisons less fragile.  Fixes #11536.
Delete the corresponding program entries when a manual recording rule
is deleted.