New API function which rolls back the Undo buffer (which is snapshotted
upon a mousedown event ahead of calling the Magic tool's `_click()`
function.) Dangerous; use sparingly!
Filled Polygon uses this to prevent partially-created (aka unfinished
aka incomplete) polygons -- the preview lines and control points -- from
being recorded and wasting space in the Undo history, or reappearing
upon Redo.
TODO - Other tools (e.g., Clone) would certainly benefit from this.
TODO - Needs more testing to help identify any bugs/issues introduced
by this!
TODO - Magic API docs need updating.
This is probably a sufficient solution that will make
https://sourceforge.net/p/tuxpaint/feature-requests/246/,
'"Overlay" surface in Magic API', unnecessary.
In instructions, mention that adjacent points may be merged.
When no more space is available for additional points, simply
move the last point to the new location (rather than silently
doing nothing).
h/t Pere for the ideas
When red & green endpoint dots are being dragged near each other,
play a different sound.
Based on CC Attribution 4.0 sound by Eliot Lash
(see CHANGES.txt & AUTHORS.txt).
Remove our preview if switching out of the tool.
Do not wipe out previous work when switching into the tool
(it seems Tux Paint calls "set_color()" _before_ "switchin()"!?)