Added actual shape deletion and cleaned up code.

Also fixed the order of creating a ShapesModifyHistoryItem before adding
a new shape.

undoSurface and the CreateHistoryItem method were both unused. The
history items were simply renamed to be plural, since that better
represents their actual function and usage.