Structs
This module defines types which role is to abstract the different coordinate and indexing systems the editor has to support. Humans deal with line numbers, starting at 1, which maps to document rows, starting at 0. We define simple types in order to delegate the +1/-1 conversions to them, as it has proven easy to forget these only when dealing with usize values.