pulse audio provides it's own convenience function to
iterate the mainloop, no need to use a custom one.
pulseaudio provides timing information for the stream, we use
that instead of system time.
Instead of copying the data from pulse to a local buffer and
then push it to obs, the pointer from pulse is now used and
pa_stream_drop() called afterwards.