Terminal backend backed by Ghostty.TTY.
This backend manages terminal presentation concerns around a render stream:
alternate screen entry, cursor visibility, initial clearing, output writes,
and optional raw keyboard input through Cringe.Runtime.TerminalSession.
Summary
Types
@type state() :: %{ device: IO.device(), terminal_session: GenServer.server() | nil, alternate_screen?: boolean(), hide_cursor?: boolean() }