[rbp/omxplayer] Reset display region when video stream properties change

Currently when video stream properties change, e.g. when user switches to next or previous Live TV channel, and has the same frame width and height, the COMXVideo::SetVideoRect() method is not called, causing the video to play back with default source and destination rectangles, not respecting the user-defined zoom settings.

This commit fixes the issue.
[cosmetic] drop unused include
[fonts] drop reading of unicode='true' attribute as we assumed it was true anyway
[EPG] Do *Persist*() calls on a copy of m_epgs

We can get in a situation where PersistAll() and PersistTables() are
running simutaneously, leading to memory corruption.
[EPG] Make sure we catch requests to update during update.
[PVR] Don't disable PVR clients not in AddonDB

AddonDB is not a reliable source for testing existence of an addon, use
AddonManager instead and tag clients as "known" in PVRDB.
[PVR] Drop unused AddonDB instance member.
[PVR][ADDONS] Drop unneeded PVRAddon special case
[PVR] Add optional param to RegisterClient to get registration status
[PVR] Make sure client addons are disabled first time we see them.
[python] add onScanStarted/onScanFinished and deprecate onDatabaseScanStarted/onDatabaseUpdated
settings: a setting should be disabled if its parent setting is disabled
[videodb] don't set the playcount to previously matched episode/season when adding new episodes if the new episode doesn't have a defined episode and season number. fixes #15234
Merge pull request #4666 from codesnake/reset_display_region_when_stream_properties_changed_in_omxplayer

[rbp/omxplayer] Reset display region when video stream properties change
[info] Only extract thumbnails and video info from real video stream
[omxplayer] Allow small audio packets to be concatenated to make better use of audio fifo

Some audio codecs produce small packets which causes a high overhead when submitting to GPU, and doesn't make full use of GPU side buffering.
TrueHD in particular can produce packets with 40 samples (so 1200 packets per second) which causes very high overhead.

What this aims to do is to concatenate audio packets until they approach the ideal audio packet size,
and then deal with the awkardness of concatenated planar formats.
[omxplayer] Use media time for determing audio delay and cache time

I've also added caching to the call to OMXMediaTime as the GPU round trip is expensive when called too frequently
Use pass by ref to construct DVDMsgType

This saves doing an extra copy for each call to the constructor, the worst one probably being the PVR channel changes at 168 bytes each.

Fixes coverity CID 719604
[Pydocs] Add info for Player and RenderCapture

1) Added information in comments to be pulled into PyDocs describing the
shortcomings when calling xbmc.player.getPlayingFile() for LiveTV.
Specifically that pvr:// url's are not translated into usable filenames
or streams.
2) Added information to xbmc.CapturePlayer regarding the functions
getHeight() and getWidth() which return 0 prior to calling
CapturePlayer.capture(). Also added that getAspectRatio() may be called
prior to issuing a capture() request.
Merge pull request #4771 from Montellese/settings_disabled

settings: a setting should be disabled if its parent setting is disabled