[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] 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.
Merge pull request #2926 from popcornmix/omxplayer_buffering

[rbp/omxplayer] Move buffering decision to omxplayer level