Use Web Audio API for sound effects

Okay, I'm spending way too much time clicking those sfx buttons!

I've used the Web Audio API instead of `<audio>` elements to fix lag and speed up generating new sound effects. This is obviously meant foremost for Safari, but it should also be noticeably faster in Chrome and Firefox too, especially generating sounds from the console toolbar. So I believe this PR fixes #75 and #84.

The latest versions of Chrome, Safari and Firefox all have the required API support, but I've kept the original `<audio>` element method as a fallback.

However, some sound effects do sound a bit different now that they're bumped up to 44,100 Hz. After quite a bit of experimenting, I think this is the closest I can manage to get to the original sound effects. I've used a filter to mimic a 5k sample rate here, and I've also made a branch [sfx-webaudio-4x-sample](https://github.com/shghs/PuzzleScript/tree/sfx-webaudio-4x-sample)
using the "zero-order hold" technique and 22,050 Hz to compare with – though I much prefer the filter!

@increpare Please let me know if you come across any other audio issues as I'm always happy to help.