Enforce minimum source size for the preview window

Otherwise sources that return 0 width/height trigger errors in
gs_setviewport
Add async texrender to cleanup
Add support for changing the audio device while recording

Changing the audio device in the source properties will now cause
the plugin to switch recording to the new device.
Implement defaults functions

The defaults functions will now return the default device for the
input/output as provided by pulseaudio.
The default output device is the monitor of the default sink.
Add option to use alternative timestamps

With this option enabled the plugin will generate timestamps
based on the system time instead of using the ones provided by
pulse audio. This might fix problems with audio desync and may
become the default/only option in the future.