compil against external libbluray
[fix] Addon update deadlock due to race condition resulting from a CThread (CBusyWaiter) being on the stack getting destroyed prior to the actual thread exiting.
Make up missed ShowPicture in command array
[pvr] fix: last watched timestamps won't update after channel switch

As we only update the last watched timestamp of the current playing channel before a successful channel switch is performed we sometimes continue the wrong last watched channel and group.
AE: fix S24NE3
fixup: drop const for CPVRChannel
[mmal] Add MMAL decoder and MMAL renderer for Raspberry Pi

While omxplayer is the best performing player on the Pi (and the only option for raw Blu-Rays)
there are some reasons to use dvdplayer on a Pi:

DVDs with menus do not work well with omxplayer
support of software decode for SD codecs like divx3, msmpeg, sorenson spark etc
omxplayer doesn't support alsa, so can't be used with USB and I2S sound cards
dvdplayer may behave better with dodgy timestamps and packet loss, e.g. with live TV

So this PR adds hardware acceleration to dvdplayer using the MMAL api.

There is also a MMAL based video renderer. Compared to using GL, this:
saves the processing cost of YUV->RGB conversion
saves the memory cost of the RGB textures for video frames (1080p = 3MB for YUV and 8MB for RGB)
allows high quality (cubic) scaling
[omxplayer] Fix bad audio when sample_fmt is not reported on Open

For most codecs ffmpeg reports m_pCodecContext->sample_fmt on the avcodec_open2 call (e.g. ac3, dts, aac).
However some (PCM on dvd) report AV_SAMPLE_FMT_NONE on open, and only provide the correct format on decode.

This can cause the GetBitsPerSample call to change between open and decode and results in white noise when the word size is misinterpreted.

The simple solution is to always convert to float when open doesn't report the format and ensure GetBitsPerSample reports this value
Fix: missing space for Kodi forks. Thanks to @notspiff
Update tests for SysInfo::GetUserAgent(). Thanks @notspiff
[settings] Rename DVDs category to Discs and add an option to specify the handling of Blu-rays.
[FileItem] Also check for MovieObject.bdmv in IsBDFile().
[bluray] Use "disc.playback" setting to start Blu-ray playback.
Treat bluray directories like images and discs when playing them via the context menu.
Merge pull request #5400 from xhaggi/pvr-fix-last-watched

[pvr] fix: last watched timestamps won't update after channel switch
Merge pull request #5228 from ace20022/blu_select2

[bluray] Add a setting for preferred bd playback
[bluray] Allow retrieval of arbitrary items from a Blu-ray directory.
[ext. subs] Also check for external subtitles for Blu-ray disc image files.
Merge pull request #5204 from ace20022/bd_extsubs

[Fix] Make ext. subtitle loading work for Blu-ray disc image files and Blu-ray directories.
Merge pull request #4153 from alexmaloteaux/configure_libbluray_fix

compil against external libbluray