Structs
History is a bounded double-ended Vec of Operations. Every-time a new change is
registered, it is added to the history. If the time elapsed since the last change is
greater than TIME_AFTER_WHICH_OPERATION_COMMITS, a new operation is added to the
operations VecDeque. If not, the content of the back (last) operation is
mutated in place.
An Operation describe a text edition at a specific start position.