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: 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
tmp: add error check macro for custom goto labels
ao_coreaudio: rewrite string fetching function
ao_coreaudio: make variable names shorter

property_address -> p_addr