initial implementation of segments glyph
add a toString to Block objects
make default feature detail popup use getFeatureLabel and getFeatureDescription
Revert "make wigglevaluedisplay flag explicitly say "no data" when
there is no data"

This reverts commit e8948d01a4daaacff8d787373d5d8d0b0b0bd7da.
rewrite NCList synchronization logic to use promises, now finishCallback is actually always called after all featCallbacks
tweak look of segments glyph borders
make Segments glyph support callbacks for the subfeatures
rejigger CanvasFeatures layout code to store viewArgs in fRects, because view hints need to be available after first rendering
add "Show labels" to canvasfeatures track menu
make Segments glyph connector height configurable
bugfix to Box heights for nonuniform subfeatures
tweak some drawing defaults
refactor Box glyph a little to make it easier to derive classes from it
add a ProcessedTranscript glyph
prevent unnecessary arrowhead drawing beyond the canvas borders
added a Gene glyph, still needs some polishing and smarts
bugfixes to Gene glyph, and make it render non-transcript subfeatures as Box glyphs
fix "collapsed" display mode for Gene glyph
fix off-by-one in Gene bounding boxes
added support for `sub_parts` conf variable in Segments and inherited glyphs