Terminal-aware snapshots for ANSI/VT output.
Uses Ghostty when available so cursor movement, carriage returns, wrapping, colors, and Unicode width are interpreted like a real terminal.
@type t() :: %{ plain: String.t(), html: String.t() | nil, vt: String.t() | nil, cells: list() | nil, truncated?: boolean() }
@spec from_ansi( iodata(), keyword() ) :: {:ok, t()} | {:error, term()}