Merge pull request #240 from rumblesan/langupdate-second-attempt

Langupdate second attempt from @rumblesan. It's known behaviour that doOnces all get check-marked together whenever any of them runs.
fixing "grunt build"

unexplainable why it wouldn’t build post-merge, but this fix seems to
work????
better fix for "grunt build"
Cleaning up pulse lib a bit
Injecting pulse through lcl core object
Actually injecting pulse from lclinit

Live Code Lab core shouldn't know about pulse, it should just get a sync
client with a standard interface
A bit more cleanup to the pulse library
Starting to use Web Audio API
More cleanup of sound system
Pattern player expects lower case x
Audio api will return accurate time in ms
Updating sound system further
More cleanup of time keeper
Cleaning up samplebank
Little bit more cleanup of sound system
Pattern Player ignores whitespace in patterns
Removing forbiddenZone code in animation loop

The improvements to the beatLoop code mean the animation loop dropping
frames shouldn't be necessary