Multi-cursor support

Multiple cursor support. Also single-undo support.