[rbp] Allow ALSA to be chosen in addition to Pi sink

Needs --enable-alsa in ./configure step and alsa support on platform
[rbp] Add hardware decode to dvdplayer

Hijack the abandoned OpenMaxVideo codec

Mostly working, but glitches/tearing visible
[omxcodec] Increase busy list to 2 to fix tearing
[omxcode] Allow hwcodec for DVD
[omxcodec] Enable for dvd menus
[omxcodec] Reduce EGL output frames to 4
adds GetTvShowSeasons
move AddSeason() public.
adds GetArt function to (video) scraper, allowing art to be fetched given the video identifier.
refresh season art if a new season is found that isn't recorded in the database yet. Fixes #14339
REMOVEME: updated thetvdb.com scraper to support art updates
dvdplayer: make sure we restore output timestamps for text based subs
omxplayer: make sure we restore output timestamps for text based subs
[rbp/omxplayer] Avoid choosing TrueHD as default audio track

The Pi cannot decode TrueHD audio successfully, so make the default audio avoid choosing that.
It can still be switched to manually
[omxplayer] Don't fail to open a stream with zero dimensions

The fast channel switching mod means OMXVideo may be opened before hints.width/hints/width is valid.
If we fail here, we do get opened again when the width/height are available, but we have already skipped
some init code like openeing the EDL files. Behave more like omxplayer and ignore the zero dimensions.
FIX: implement libcurl openssl thread-safe locking
[PiSink] Set hdmi stream channels when in passthrough mode
Move the reference-counting of Begin and End calls from DX and GL source files into GUIFontTTF.cpp.
Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector. Also retired CGUIFontTTFBase::m_vertex_count and CGUIFontTTFBase::m_vertex_size because these can be derived from vector member functions.
CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of vertixes rather than only CGUIFontTTFBase::m_vertex