compil against external libbluray
[gui] GUIFontTTF: allow loading fonts from any supported VFS, remove need for custom patch for freetype on win32
[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.
[darwin] Add CDarwinUtils::GetManufacturer() for getting real manufacturer name (for example on VMware it returns “VMware, Inc.”)
[darwin] SysInfo::GetManufacturerName(): return real manufacturer name instead of hardcoded
AE: fix S24NE3
fixup: drop const for CPVRChannel
Improve portability
[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
[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.