Fixes runtime-error and performance issue

Unless I'm missing something, AudioBuffer.zeros doesn't exist, but "new
AudioBuffer" works perfectly with the same arguments, so I've refactored
"createBuffer" to use the constructor directly.

Also, connecting to AudioContext.destination multiple times would result
in the audio loop running multiple times in parallel, causing increasing
performance degradation as multiple sounds were played.

I've added guard clauses around the audio-loop so that this issue no
longer occurs.
Adds support for bufferSize/numBuffer fields

These fields won't have any affect without my current branch of
node-speaker (hopefully to be merged into the main package), but cause
no harm on current versions.

These fields allow the application developer to tweak the balance
between audio delay and audio reliability.  Current buffers are far too
large for video-games on Windows, and cause a multi-second delay between
trying to play a sound and the sound actually playing, and these
settings allow the user to change that.
Merge pull request #20 from anprogrammer/master

Fixes runtime-error and performance issue