more refinements to feature layout
tweak canvas features drawing code
refactor most of the alignment mismatch handling into a mixin that can be shared among multiple track types
add an Alignments/PileUp track type that is based on CanvasFeatures
tweak pileup track defaults
improve track error handling code.  added JBrowse/Errors.js, where we put the different kinds of typed Error objects that we throw
remove GranularRectLayout optimization.  doesn't really help that much.
Merge branch 'master' into canvas_features

Conflicts:
	src/JBrowse/Store/SeqFeature/BAM/File.js
	src/JBrowse/View/Track/BlockBased.js
make mismatches colored black by default
fix ExportMixin and YScaleMixin to be used as proper declare() mixins
factor default feature detail dialog creation into a mixin, FeatureDetailMixin
delay cleanups of dialog boxes by 500ms to avoid canceling new (as of
dojo 1.8) deferreds that fade them out, because the cancelling
generates error messages.
move Alignments featureDetail implementation into MismatchesMixin (which I need to rename soon)
move configuration handling for mouse events from HTMLFeatures to FeatureDetailMixin (which I need to rename soon)
canvas-based feature tracks now support configurable events
canvas feature tracks now highlight features on mouseover
style sequence fields in feature and alignment detail pages to force-wrap at 45em width
don't try to draw mismatches in Alignment/PileUp tracks unless scale is at least 0.3 px/bp
make the CanvasFeatures mouseovercolor configurable
optimize Alignents/PileUp feature rendering for features with very short vertical height