Add interactive text

Adds interactive text that can be used through the icon-menu. Also optimizes the undo/redo-code, although it could need some refactoring.