UI: Initial Undo/Redo

Starting to develop Undo/Redo. This just implmements the undo/redo stack
and its api.
This commit is contained in:
Internal Server Error - Gitea: Git with a cup of tea
500 Internal Server Error

Gitea Version: 1.28.0+dev-477-g8b6ad49a5f