The core logic around a terminal; it defines the base filters API
through which anything (including basic cursor-navigation and typing)
interacts with the terminal.
Maintains basic invariants, such as "cursor should always be within
the buffer", and "ansi terminal should reflect most up to date TermState"