ao_coreaudio: simplify render callback

Read only the requested amount by the AUHAL (instead of all the buffered data).
No idea what the deal is with pausing the audio units if there is no audio to
play, maybe to avoid underruns of some sort. Anyway from my tests this
condition never occurred so I'm removing it all.
ao_coreaudio: rewrite spdif render callback
ao_coreaudio: simplify digital render callback

It was reported that it also works by not setting the read size in the
AudioBuffer (now idea how, but I will discover it later).
ao_coreaudio: dry up ca_msg and use it everywhere

Change the ca_msg macro to pass along MSGT_AO automatically. Also use it for
every output for consistency.
ao_coreaudio: add error check function and macro

WIP
ao_coreaudio: make variable names shorter

property_address -> p_addr
ao_coreaudio: split out some utility functions and refactor them

Split out some utility functions that use the CoreAudio API but are not related
the main task of the AOs (which is to move data correctly to the ringbuffer).
These are mainly need for the verbosity of the CoreAudio API and are just
obscuring the 'real' code.
ao_coreaudio: refactor print_help
ao_coreaudio: refactor initialization

The initialization is split more clearly between compressed and lpcm case.
For the compressed case, format selection is simplified a lot and negotiation
removed. The way it was written it just passed back to the core the original
requested format, not what was found available on hardware.

Since this is most likely useless for the compressed case, I didn't bother
with this. In the future I'd like to split this AO in two one that only uses
the AUHAL and the other with direct access to the hardware so that even
passthrough of lcpm can be possible. This would decrease the latency,
audiophiles would like that.
ao_coreaudio: lpcm: remove buffer size calculation depending on audio unit
ao_coreaudio: extract methods to lock/unlock device for digital output
ao_coreaudio: move AudioStreamChangeFormat to common file and refactor
ao_coreaudio: extract mixmode set/unset in utility functions
ao_coreaudio: refactor play
ao_coreaudio: ca_msg: add trailing \n where missing
ao_coreaudio: remove a fixme since that seems fixed
ao_coreaudio: refactor uninit
ao_coreaudio: refactor play/pause
ao_coreaudio: remove packetSize private variable
ao_coreaudio: change private vars names to match mpv conventions