Remove unneeded or outdated _MSC_VER macro #ifs
[rbp/omxplayer] Simplify clock handling

In OMXClock we have an almost complete copy of DVDClock, so just use DVDClock directly.

The passing through of CDVDClock functions from OMXClock is hopefully temporary,
as I think clock manipulation is better handled from OMXPlayer than audio/video players.
[rbp/omxplayer] Move start flags out of clock component

It is harmless to send a start flag on a clock port that is not the master, so keep flags more local
[rbp/omxplayer] Add plumbing for audio GetCacheTotal
[rbp/omxplayer] OMX spec says we can transition from execute to idle
[rbp/omxplayer] We don't require this for command line omxplayer
[rbp/omxplayer] Add calls for stepping and retreiving the clock adjustment
[rbp/omxplayer] Use OMXPlaySpeed for pause/resume
[rbp/omxplayer] dispmanx now handles negative rectangles correctly so adjustment not required
[rbp/omxplayer] Remove discontinuity handling from players

I think sync/continuity checking done in OMXPlayerVideo and OMXPlayerAudio
is always wrong and leads to audio sync errors after discontinuities.
[rbp/omxplayer] Remove flip timing logic from OMXPlayerVideo

The video is not rendered by the arm, so a lot of the page flipping code is redundant.
We just need to call flip periodically to get subtitles rendered and gui updated.
[rbp/omxplayer] Move buffering decision out of OMXPlayerAudio

This gets the m_stalled behaviour closer to dvdplayer which may help live tv issues.
The buffering will be re-added at a higher level from omxplayer
[rbp/omxplayer] Move buffering to omxplayer level

We wait to pause the clock when the queue of audio data to GPU is dangerourly low to avoid stuttering audio.
Better to pause for a few seconds and then play some intelligible audio, than to continuously underrun.
[rbp/omxplayer] Support frame advance (single step) with right arrow when paused
[rbp/omxplayer] Move the buffer of the decoded audio to output port

The buffers between host and gpu components are duplicated, so 2 seconds of 8 channel 48kHz audio requires 3MB.
That memory is required on both host and gpu. We want this buffering to provide protection from underrun when the arm is busy.

By moving the majority of the buffering from omx_decoder's input to output port, we save that memory on the arm.
Also the output port is 16-bit integer, rather than float, so we halve the size in addition.