Web audio

See #986. This is the generic idea. Plenty of improvements possible, but I've just tried to stick with the current setup for the client-side application as much as possible.

Note that I've not considered any performance and (cross-browser) compatibility issues, so this should not be merged right away. I can do this later on, but wanted you/others to have a look at what I have now.

Let's discuss the idea, issues, and directions.