A single terminal cell: one grapheme plus its styling.
Wide graphemes (CJK, emoji) occupy two columns; the second column holds a
cell whose char is :continuation and is skipped when writing output.
Summary
Types
@type t() :: %Tuix.Cell{ attrs: [atom()], bg: Tuix.Color.t(), char: String.t() | :continuation, fg: Tuix.Color.t() }