This PR adds a basic input mapper and implements the move and undo actions in a simple manner.
This includes adding a concept of (line, column) based cursor positions, factoring out caret storage into a separate struct.
It also moves to combining cursor move and text update notifications into one big notification in the style of immediate mode UIs.
Thus, it also marks a significant step in the progress of #10 and affects #7
This PR adds a basic input mapper and implements the move and undo actions in a simple manner. This includes adding a concept of (line, column) based cursor positions, factoring out caret storage into a separate struct. It also moves to combining cursor move and text update notifications into one big notification in the style of immediate mode UIs.
Thus, it also marks a significant step in the progress of #10 and affects #7