Rename au_in to AudioDecoder.

This has been a long time coming…
Use pair in audio callback.

There is method in the madness: see next commit!
Split failure on audio callback.
Use OOP wrapper around ring buffer.
Re-format errors.hpp.
Add sample formats enum.
Factor out BytesPerSample.
Add and use sample format maps for converting.

This currently maps, circuitously, to and from SampleFormat.  This is to
allow the PortAudio and ffmpeg code to be separated later.