Added a wrapping library for pulseaudio

The wrapping library uses a global mainloop and context which
allows operations to share the connection. The global mainloop
is created and destroyed based on internal reference counting.

The capture code won't spawn a new thread for each input anymore
but instead just create the recording stream and rely on the
threaded mainloop to execute the read callback when data is available.
Merge pull request #70 from fryshorts/pulse-input

Added a wrapping library for pulseaudio