Undo / redo changes in editor

The user can undo/redo certain commands in the VKRC viewer.
Those commands that have some additional (not visible for the user) custom data can not be undone/redone due to Qt framework restrictions.

Every time when user inserts or modifies text of single block with custom data the 'undo stack' is cleaned.
Also if the user pastes, cuts or deletes selection with more lines, from which at least one contains custom data the 'undo stack' is cleaned as well.

Editing following commands with custom data will cause 'undo stack' clean: