Behaviour for terminal scrollback buffer.
@callback add_line(any(), String.t()) :: any()
@callback get_lines(any()) :: [String.t()]
@callback new() :: any()