Highlights line from the state the previous line of its block ended in, so a construct
that spans lines (a block comment, a multi-line string) is coloured on every line it covers.
state is null for the first line of a block and receives the state this line ends
in, to pass with the next line. The default ignores it and highlights the line on its own.
IReadOnlyList<(string Text, IBrush? Foreground)>? Highlight(ReadOnlyMemory<char> line, string? language, ref object? state)