Performance/Parallel Processing improvements

When testing this library, I noticed that it was blocking Javascript from running for large portions of time.  I discovered that the background thread doesn't actually do anything but lock up immediately after starting, meanwhile Pa_WriteStream (which blocks until the audio passed to it finishes playing) is being called from the main Javascript thread.

I've refactored the architecture, so that the "write" function simply stores the buffer, while the background thread sends said buffer to Port Audio.  This way, JavaScript can run while the audio is played.

With these changes this library works rock-solid for the game I'm developing, and has good performance.

I've also added an option to disable microphone input, and a couple of code clean-up tweaks.

Let me know what you think.