gh-68: Sketch implementation of support for WebAudio decodeBufferData().
gh-68: Simplifies flock.audio.decode.
Merge branch 'master' into webaudio-decoder

* master: (116 commits)
  Reduces the number of repetitions for the synth benchmarks.
  Updates Web MIDI support to the latest version with (ugh) ES6 Iterators.
  Updates Infusion to latest master branch.
  Removes playState support in order to tighten up performance.
  Minor performance tweak to ugen.granulator.
  Minor naming and performance improvements.
  Makes delayDur and grainDur modulatable in flock.ugen.granulator. Adds support for user-specifiable grain envelopes.
  Grain duration is now modulatable by triggerGrains. Switches to a Hann window for enveloping grains.
  Fixes bugs related to sample rate and centerPos in triggerGrains.
  Restores Freeverb to a working state.
  Fixes gh-74: Adds a "soft failure" mode to Flocking for live coders.
  Fixes gh-79. An empty table generates silence from osc.
  Fixes gh-82. Synths are removed from the environment when destroyed.
  gh-83: Updates Flocking to use a low-latency fork of node-speaker.
  Upgrades to the latest node-speaker. Minor cleanup in use of Speaker.
  gh-81: Exposes fluid global.
  gh-81: Reorders module loader detection conditions for greater compatiblity. Since NoFlo contains a non-functional instance of require.js, the CommonJS case needs to come first.
  gh-81: Adds further boilerplate to expose flock to module.exports.
  Ensures all bufferDescs go through the expansion process.
  Disables MIDI sysex support by default to avoid user confirmation. Adds a few tests for MIDI port matching. Slight improvements to bufferDesc expansion.
  ...

Conflicts:
	flocking/flocking-audiofile.js
Merge branch 'master' into webaudio-decoder

* master:
  gh-44: Adds a sample-accurate input change scheduling unit generator.
  Fixes gh-63. Improves support for calculating cursor position. Thanks to @gad2103 for the fix. Also fixes a bug in flock.ugen.print when printing control rate ugens.
  fixes issues with mousemove functionality and targets
  change mousemove behavior to clientX,Y instead of offsetX,Y
  Adds unit tests and fixes for flock.ugen.change.
  Initial implementation of sample-accurate change unit generator. Still needs unit tests and a good demo.

Conflicts:
	dist/flocking-all.js
	dist/flocking-all.min.js
	dist/flocking-no-jquery.js
	dist/flocking-no-jquery.min.js
gh-68: Adds support for pluggable audio decoding strategies.
The Web Audio API is now the default strategy, though AIFF files
will continue to be decoded by Flocking's decoders if the appropriate
file is included.
gh-68: Splits JavaScript decoders out into a separate, optional file.
This means that users who want AIFF support in non-Safari browsers
now need to include flocking-audiofile-compatibility.js.
gh-68: Splits out decoder tests from general audiofile tests.
Adds additional tests for sync and async JS decoding.
Fixes gh-68. Addresses gh-84 support for MP3s via use of Web Audio API decoder.
Merge branch 'webaudio-decoder'

* webaudio-decoder:
  gh-68: Splits out decoder tests from general audiofile tests. Adds additional tests for sync and async JS decoding.
  gh-68: Splits JavaScript decoders out into a separate, optional file. This means that users who want AIFF support in non-Safari browsers now need to include flocking-audiofile-compatibility.js.
  gh-68: Adds support for pluggable audio decoding strategies. The Web Audio API is now the default strategy, though AIFF files will continue to be decoded by Flocking's decoders if the appropriate file is included.
  gh-68: Simplifies flock.audio.decode.
  gh-68: Sketch implementation of support for WebAudio decodeBufferData().