add DEBUG::CanvasEnterLeave to allow runtime toggling of canvas enter/leave events
fix canvas enter/leave bug when point is over a group/ignore-event item and we fail to send a leave event to the previous item
add ::covered_by_y_range() to TimeAxisView
ensure that track selection operations call ::set_selected() for tracks, allowing faster lookups of selected status during drags
range selection drag ensures that selected tracks include all tracks within the vertical height spanned by the drag.

Older code looked at the track under the motion event coordinates. With rapid mouse motion, tracks could be "skipped" - no motion event
would be reported within their vertical coordinate range.