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
Merge remote-tracking branch 'incompleteopus/feature-tuplet' into fractional-tuplets

Conflicts:
	src/formatter.js
	src/tuplet.js
	src/voice.js
	tests/flow.html
	tests/stavenote_tests.js
	tests/tabnote_tests.js
	tests/tickcontext_tests.js
	tests/tuplet_tests.js
	tests/voice_tests.js
Added num_beats and beats_occupied options for tuplets
Added complex tuplet test and changed other tuplet tests to use strict voices
Cleaned up lines over 80 columns
Updated includes and removed old comments