WIP for the refactor to clean up the drum machine.

So far the major changes have been around the loop/instrument models. It turns out, we need to create a new AudioBufferSourceNode every time we want to play a sound. It can only play once. This refactors things so that the InstrumentModel stores its own buffer, but the audio service handles playback by creating new sources when play() is called.

I'm also renaming the little buttons to beat buttons but that's next.