Lasso and Polygon selections: bug-fixes and enhancements

- Polygon selections now support key modifiers, including Backspace to
remove the last placed point.
- Lasso selections will no longer crash if backspace is pressed while
moving a completed lasso.
- Manual bounds-checking will no longer fail on blank selection masks
- The autosave handler should now behave properly if polygon or lasso
selections crashed the program (although I'm hoping they won't crash it
any more!)
- Lasso and polygon selections with curvature can now be dragged off the
canvas to erase them.
- "Outline-only" drawing mode is now honored permanently, e.g. even
after a selection is created.  This seems like more reasonable behavior
IMO, even though it doesn't account for things like feathering radius.
- Much better performance for boundary checking when curvature is
active, by using GDI+ to calculate bound regions (instead of doing it
manually by scanning the selection mask).
- Many other miscellaneous bug-fixes