ao_coreaudio: uncrustify

uncrustify -l C -c TOOLS/uncrustify.cfg --no-backup --replace \
  audio/out/ao_coreaudio.c
ao_coreaudio: move to new libao API

This is just a first pass and the bare minimum to make it compile and work.
SPDIF is untested for lack of hardware.
ao_coreaudio: split ringbuffer in it's own file

This is hopefully the start of something good. ca_ringbuffer_read and
ca_ringbuffer_write can probably cleaned up from all the NULL checks once
ao_coreaudio.c gets simplyfied.

Conflicts:
	audio/out/ao_coreaudio.c
ao_coreaudio: fix output with spdif

The mute condition was inverted...
ca_ringbuffer: remove implementation based on AVFifoBuffer

I stole some good ideas from ao_portaudio's ringbuffer and went from there.
The main difference is this one stores wpos and rpos which are absolute
positions in an "infinite" buffer. To find the actual position for writing /
reading just apply modulo size.

The producer only modifies wpos while the consumer only modifies rpos. This
should help with what I want to do next: remove the threads and enforce
lockless thread safety in the SPSC case using atomic types and memory barries
to avoid reordering by the compiler and/or hardware.