Recover point selection when undo/redo
(1) The corresponding points in the original and cloned shapes can be connected through KoPathPointIndex. Use `cloned->pointByIndex(origIndex)` to obtain the corresponding point in the cloned shape. Since we will also need to record the shape the point belongs to, we can use KoPathPointData which combines these two. (2) KoPathToolSelection has its own shape selection, and it is vital to map it as well, since KoPathToolSelection::update() will remove any point that is not a part of its selectedShapes().
Showing with 294 additions and 45 deletions