The frontend-independent screen buffer: holds the line history
(scrollback + viewport), the cursor position and the scrolling margins.
Screen-relative coordinates (rows within the viewport, such as
cursorY or marginTop) start at 0; methods that take or return
buffer positions use absolute line indices, and the absolute* getters
translate between the two.
A handle to a cell in a BufferLine that can be used to track the location
of the cell. Anchors are guaranteed to be stable, retaining their relative
position to each other after mutations to the buffer.
Terminal is an interface to interact with command line applications. It
translates escape sequences from the application into updates to the
buffer and events such as onTitleChange or onBell, as well as
translating user input into escape sequences that the application can
understand.
The key event received from the keyboard, along with the state of the
modifier keys and state of the terminal. Typically consumed by the
TerminalInputHandler to produce a escape sequence that can be recognized
by the terminal.