Rework the audio code to use a circular buffer
Use a timer set on periodSize instead of a signal to write audio to hw
Fix unhandled SIGIOs on ALSA/Linux