Added various barlines, segno, coda and repeat brackets to stave.js.

These changes allow for all types of music notation with appropriate
barlines and repetition symbols needed for showing the flow of the music.
The TabdStave.js class was modified to allow for changing the number of
strings for instruments other than guitar (i.e. mandolin, banjo, hammered
dulcimer, etc.) Additional tests were added to the stabe test classes,
including an eight measure demo of a complete score. The "flow.html" web
page was changed to use the gonevill_all.font to make the additional
symboles available.
Merge from GregJ/vexflow.

- Fix canvas scale transformation for issue #27
Really fix scale issue in TabDiv resize.
Merge remote-tracking branch 'origin/master'
Uncoupled barlines, coda, signo and volta brackets

I uncoupled the barline, repetition symbols and volta (repeat) brackets
into separate classes derived from stavemodifier. The new featues available
are:

1. stavebarline.js - single, double, repeat begin, repeat end and end
   barlines.
2. staverepetition.js - single coda & segno symbols and text versions of
   D.C., D.S and Fine variattions.
3. stavebarline.js - volta (repeat brackets)
4. stavesection.js - named section symbols

Measure numbers can also be drawn above the barlines with new code added
to "stave.js". As I was working with the text display, I noticed that the
current "raphaelcontext.js" did not have the equivalent of the Canvas
"measureText" function, so I added a new prototype. I also revised the
"fillText" function to provide better vertical text alignment.

To see the classes in action, try this link:

http://el-kay.com/test/tests/flow2.html
Added new glyphs to vexflow_font and fixed transform.html.

I fixed transform.html so it displays and copies the proper glyphs from
gonville-all.js. I also updated flow.html to again use vexflow_font. In
preparation for working on accents and to add the coda and segno symbols,
the following glyphs were added:

v4d   Coda
v95   Dead (Muted) Note Head - Half
v92   Dead (Muted) Note Head - Whole
vbf   Dynamic - p (piano)
vba   Dynamic - f (forte)
v62   Dynamic - m (mezzo)
v4a   Dynamic - s
v80   Dynamic - z
V5b   Fermata (Lower)
v43   Fermata (Upper)
v22   Harmonic - Filled
v2d   Harmonic - Half
v46   Harmonic - Whole
va    Marcato
v1e   Mordent
v45   Mordent Lower
v9c   Paren Left
v84   Paren Right
v8b   Pizzicato Left Hand
v94   Pizzicato Snap
v8c   Segno
v28   Stacattissimo
v6a   Stacatto
v25   Tenuto
v72   Turn
v33   Turn Lower(reverse)

Larry
Aligned section names to left edge of stave

Modified "stavesection.js" to align section names to the left edge
of stave and fixed 'measureText" prototype in "raphaelcontext.js"
to remove small printing at top left of Raphael context display.

Updated "transform.htm;" and "vexflow_font" with glyphs for
various strokes (brush, roll & rasquedo).
Final update to classes for drawing the new barlines, voltas, coda & segno

The final update for adding the new barlines to VexFlow. Here is a summary
of the changes:

annotation.js         :: changes for annotation alignment
bend.js               :: replaced textWidth with measureText
modifiercontext.js    :: changes to add preformatting of strokes, added generic addModifier and addArticulation
raphaelcontext.js     :: restored lineWidth variable to eliminate ghosting of bends
stave.js              :: fixed backward compatability and reset end barline x when width was changed
stavebarline.js       :: added setX function to adjust position when stave width is modified
stavenote.js          :: fix ledger lines above/below stave and changes for annotation allignment
stavetie.js           :: replaced textWidth with measureText in renderText function
tabnote.js            :: changes for annotation allignment
tables.js             :: added glyphs for articulations, ornaments, harmonic/dead note heads
transform.html        :: additional glyphs for harmonics, dead notes, articulations & ornaments
stavenote_tests.js    :: added additional notes above/below stave to verify ledger lines

TabDiv
======
tutorial.html         :: added new classes
playground.html       :: added new classes
vextab.html           :: added new classes

VexTab
======
runtest.html          :: added new classes
Updated scons build rules.

- Fixed errors reported by closure compiler.
Style fixes.

- Removed tabs and EOL spaces.
- Wrapped >80 column lines.
- Fixed little typos.
Minor changes to fix typos and clean up classes

This commit fixes several typos and removes redundant functions from
accidental.js and dot.js that are defined in modifier.js. Also fixes a few
drawing problems. Summary of changes:

Class Change Summary (src/)
===========================
accidental.js    :: Removed redundant functions defined in modifier.js
beam.js          :: Shorten stems by 3 picels when note head is a harmonic
bend.js          :: Changed text width calculation from textWidth() to
                    measureText()
dot.js           :: Removed redundant functions defined in modifier.js
modifier.js      :: added setYShift() function
tickable.js      :: addToModifierContext() did not use correct variable name
timesignature.js :: Corrected constructor definition from KeySignature to
                    TimeSignature

TabDiv (tabdiv/)
================
tutorial.html    :: Increased width Steps 5 & 6 so notation would display

Tests (tests/)
==============
bend_tests.js    :: fixed spacing of reverse bends
Add no barline option and code to draw a brace connector

Modifications to add a no barline option and new the code to draw a brace.
Summary of changes:

Class (src/)
============
stave.js                :: Added option for no vertical barline
stavebarline.js         :: Added "NONE" as a barline option
staveconnector.js       :: Added single line, brace and brackets stave connectors

Tests (tests/)
==============
staveconnector_tests.js :: Tests for the various stave connectors
Revised Formattr and changes to related classes

The formatter was recoded for better layout of the notation and to align
the tablature fret numbers with the notation. Changes were made to
modifiercontext.js to enable multiple staves to be formatted. When formatting
multiple staves, the stave must be assigned to stavenotes and/or tabnotes
before prefornatting.  Summary of modifications:

Class Changes (src/)
====================
articulation.js    :: Class to draw articulations in notation
formatter.js       :: FormatAndDrawTab() - reversed order of noteVoices and
                      tabVoices so stave notes formatted first
                   :: preFormat() - completely recoded to layout notes with
                      left justification
modifiercontext.js :: new functions formatNotesByY() and formatAccidentalsByY()
                      to enable formatting of more than two voices (multiple
                      staves)
                   :: Fixed accidentals drawing over note heads for displaced
                      notes with downward stems
note.js            :: Added getMetrics() to get note onfo needed for formatting
stavenote.js       :: Sorted notes during init to ensure they are in correct
                      sequence by line plus minor changes for new formatter
tabnote.js         :: Various changes to support new formatter
tabslide.js        :: draw() mod to draw consistent slide lines in tablature
tickcontext.js     :: Added variable to support getting tickcontext metrics for
                      new formatter

Tests (tests/)
==============
articulation_tests.js :: New test for articulations
beam_tests.js         :: Made stave width larger
flow.html             :: Added articulation & staveconnector tests
formatter_tests.js    :: Added multiple system format test
mocks.js              :: added tickable.getMetrics() function
Style and build fixes.

- Added articulation.js to build and HTML files.
- Added stem shifts to table to take special cases out of beam.js.
- Removed large redundant commented blocks.
- Other style fixes.
Fixed formatting in VexTab tutorial.
Updated style for vexflow tutorial.
Removed spurious comments.
Added support for 64th notes
Added 64th notes to valid_beam_durations
Regenerated font with gliphs for 64th notes