* doc clarifications
* examples compile with c99 not c11
* fix pulseaudio on_backend_disconnected not firing only during
flush events
* make wait events more efficient
* fix alsa devices race condition
* fix backend disconnected code handling
* add overflow test
* fix on_events_signal not called at correct times
* refactor pulseaudio device scanning
* fix SoundIoErrorNoSuchDevice string value
This changes the semantics of the callbacks so that instead of
a single `requested_frame_count` or `available_frame_count`,
the callbacks get a minimum frame count and maximum frame count.
The callback must write at least the minimum or get an underflow.
The minimum will be 0 on ALSA, PulseAudio, and Dummy, and will
equal the maximum on CoreAudio and JACK.
This ensures optimal behavior regardless of buffer size.