Implemented shape type modification.

Undo and redo is glitchy.