[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
Merge pull request #4777 from popcornmix/small_audio

[omxplayer] Allow small audio packets to be concatenated to make better use of audio fifo