Handles terminal mode state management.
Handles mode changes.
Initializes a new mode state.
@type t() :: %Raxol.Terminal.ScreenBuffer.Mode{ auto_wrap: boolean(), cursor_visible: boolean(), insert_mode: boolean(), origin_mode: boolean() }