[PiSink] Improvements to reduce chances of underrun

This add improvements to the buffering in Pi sink, and direct support of planar and float formats.
This reduces the chance of underrun with higher samplerate and multichannel audio.

This code has been present on openelec and raspbmc gotham builds, so is well tested.