Added undo/redo support and safer side effect prediction for caret color
changes in FloatingTextModel.

Fixed issue with text (seemingly) doubling during startup for
FloatingTextModel.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>