Draft: osxaudio: fix race condition when removing AU callback
If the IO thread has already entered the callback when it is being removed, the callback function can use memory that is being freed. We address this by wrapping the callback function with something that holds a lock.