Sets the GPIO back to original state after recording
Set a reasonable recording level - same as Adafruit's driver
Stops hardware interrupts before proceeding with stopping playback. Otherwise, dreq interrupt occurs and throws a hardfault
Lets audio output fully complete before stopping stream
Move shift buffer into a runtime event to prevent memory corruption
Removes while loop suggested by vlsi because it can become infinite
Moved buffer flushing into mandatory stop sequence
Removes SPI initialization out into JS driver under lock protection. Must be used with audio driver update...
Allows more than 127 items to be queued at once
Refactored audio data structures to stop memory copy of audio buffers
Merge #116 r=@johnnyman727: [READY] Jon audio fix

This patch is meant to make the audio driver more reliable by fixing as many open [issues](https://github.com/tessel/audio-vs1053b/issues) as possible.