added tuplets

Adds basic support for rendering tuplets.
Added ability to align annotations to underneath the stave
Added support for bass clef notes
Be more specific about HTML font.

Fixes cross-browser rendering inconsistencies.
Add keymanager.js to build rules.
Support alternate clefs in VexTab.

- Standard notation stave now renders the notes in their correct
  position with respect to the clef.
- Updated tutorial so notes stay on canvas.
Added VexTab support for alternate tunings.

- Updated Vex.Flow.Tuning to support named tunings ("standard", "dropd",
  etc.)
- Added "tuning" keyword to VexTab "tabstave".
- Updated tutorial with "tuning" parameters.
Updated tutorial to declare HTML5 doctype
Updated tests to declare HTML5 doctype
Revised tuplets
Revised tuplet tests
Merged tuplets and fetched latest upstream changes
Merged latest upstream changes
Implemented initial support for fractional note durations. Modified tuplets to use fractional note durations.
Moved GCD and LCM functions from Vex to Vex.Flow.Fraction
Fix modifier and dot bugs

-StaveNote.addModifier didn't push a new modifier into the modifiers
array.'
-Check to make sure the modifier has a draw() function in order to draw
it
-The StaveNote.addNote didn't increment the dots count.
Voice modes: strict, soft or full

Conflicts:

	src/formatter.js
	src/voice.js
Backwards compatibility for voice modes
Style corrections
Small formatting and comment changes.