[rbp/omxplayer] Support both analogue and hdmi audio

Thanks to stupid-boy for the original implementation.
[rbp/omxplayer] Cosmetics
[rbp/omxplayer] Improve the player diagnostics overlay
[rbp/omxplayer] Avoid too many calls to GPU

We currently read the media time once per packet received from demuxer to determine gpu underrun.
We've found that TrueHD audio in particular produces ~1000 packets per second (whether it is the active track or not).
The cost of reading media time (from gpu) is high enough that 1000 calls per second makes us fail to keep up.
So, cache the media time, and only read it at most 50 times per second.
[rbp/omxplayer] Avoid reporting a playtime of zero

We use a media time of zero when waiting for a trickplay frame. Avoid reporting that as the display time.
[rbp/omxplayer] Increase input audio buffer size to make better use of output buffer
[rbp/omxplayer] Increase audio buffer between arm and gpu

When the arm is busy the gpu fifo can underrun, especially when audio codec uses short duration packets (like DTS)
[rbp/omxplayer] Need to populate channel layout for passthrough

Currently 6.1 channel dts is rejected as the channel count is zero. Fill in something plausible (it will not be used).
[rbp/omxplayer] Avoid audio codec when in passthrough modes

There is no need to open the ffmpeg audio codec when in passthrough mode.
Also there is no need to close/open the OMXAudio component when parameters (like number of channels) change in passthough.
This avoids an unpleasant stutter
[rbp/omxplayer] Enable zoom and pixel ratio in video OSD
[rbp/omplayer] Handle the case where EOS message fails.

When GPU fifo is full, the attempt to send the eos message may timeout. Increase the timeout and if that still fails then consider the stream to have ended.
[rbp/omxplayer] Add Dynamic Range Compresssion scheme

This adds a DRC scheme. A number of dBs of amplification can be chosen.
The audio_decode component is setup to do the usual downmix operation early
before most of the audio buffering. This means we get a second or two to
detect if the downmix would overflow. This allows the amplification to be
attenuated in time to avoid the clipping.
The attenuation gradually decays when overflow condition stops.

Also adds a gui setting to boost centre channel.

Requires updated firmware