Improve Music Support

This pull request is a significant improvement for music support in the library:

(1) The "Piano" object is now built-in to the library instead of requiring a separate import.

(2) Each turtle has a "turtleTimbre" property that lets you set 9 numbers (and an oscillator waveform) to determine the quality of the sound of an instrument.  The timbre can also be set for a specific song or a specific voice of a song. For example, a piano timbre corresponds to this css call:

<pre>
this.css({ turtleTimbre:
        "wave:sawtooth;gain:1;" +
        "attack:0.001;decay:0.3;sustain:0.005;release:0.1;" +
        "cutoff:150;cutfollow:0.4;resonance:2;detune:1.001;" });
</pre>

wave: sawtooth (vs square, triangle, sine - from the Web Audio standard)
Then the ADSR envelope:
attack: seconds to ramp up from zero when starting a note
decay: seconds to decay (exponentially, by a factor of e) after the attack.
sustain: the asymptotic volume that you decay to after a while.
release: seconds to go to zero after a note is released.
Then some things for the quality of the note:
cutoff: cutoff frequency for a low-pass filter.
cutfollow: for notes with a principal frequency higher than the cutoff, how much to raise cutoff (as a factor of the frequency difference).
resonance: the Q value for the low-pass filter, which boosts the principal frequency.
detune: frequency for a second (detuned) oscillator, relative to the primary.

(3) In addition to "play" there is a lower-level "tone" method that kids can use to just play a tone immediately without sequencing.  It takes either an ABC pitch string or a numeric Hertz value.  tone('C') to play a C, then tone('C', 0) to turn it off again.

(4) And there are "noteon" and "noteoff" callbacks: the Instrument base class of Piano sets these up, and you can override them to do various effects when a note is played.  The callback is passed an object with a midi number for the note that is turning on or off.