Add command name: @last, @erasewnd, "".

@last: Restart the current command.
"": No active command.
NULL: Cancel the current command.
Unknown name: Not changed.
Show hidden image while dragging.
Show hidden image while moving with two fingers.
Show dynamic shapes of command at top of playings.
Change _MGZERO. Add a parameter for addShapesForTest.
R38: Add MgPathShape and output(path) for shapes.

Add append, setPath, setPoint and quadsTo for GiPath.
Add bezierBox1 and bezierBox4 for mgnear.
Add readIntArray and writeIntArray for MgStorage.
Add GiPath::bezierTo().
Save MgPathShape as SVG path format.
Add include for Android.
Add importSVGPath and exportSVGPath.
Support array elements in MgJsonStorage::readNode().
Fix the extent of MgRecordShape. Add selection log.
Add margin parameter for zoomToExtent and zoomToModel.
Need to call regenAppend after calling addShape(sender, &tmpshape).
Fix writeString and exportSVGPath.
Support UTF-16 encoded JSON files.
Add getUnlockedShapeCount, setArrayMode and saveNumberAsString.
Add point type for MgDot.
Add notes for GiHandleTypes.
Store change count for redo/undo. Fix writeInt for node name contains number.
Add getShapeCountByTypeOrTag(type, tag) and findShapeByTypeAndTag(type, tag);