Fix crash when resizing a track quickly.

Triggered by resize drag an automation track very quickly upwards to shrink it
to the minimum.  Caused by unsigned integer underflow.
Fix crash on shift+rclick of region to remove.

This doesn't seem to have been touched for years, and I don't see how such an
obvious bug could possibly have been around for so long, but, well, this fixes
it as far as I can tell.
Invalidate iterator whenever model changes.

I suspect this is an underlying cause of several tricky to reproduce bugs, but
we'll have to wait around and see...
Fix crash on quit when in a non-route time axis.
Grab keyboard only with note selection.

When entered, the keyboard is grabbed when the selection becomes non-empty, and
ungrabbed if it becomes empty again or the region is left or the user switches
out of internal mode.

This fixes scroll in internal mode and note moving with arrow keys.  Also frees
up useful keybindings when there is no note selection, which is much nicer than
the "nothing works in edit mode at all" greedy grab approach used previously.

Attempt #874327892 of getting this damned grabbing right.
Allow creation of MIDI control points object tool.
Remove unnecessary includes.
Nudge notes by 1 bar if secondary modifier active.

Similar to how transpose moves an octave if the same modifier is active.
Support keyboard shift-click to select many notes.

Also support selecting with button 1 if shift is held, more discoverable.