HighlightSpan
A theme-independent highlight range within a single HighlightedLine.
start and end are UTF-16 offsets into HighlightedLine.text. end is exclusive, and start < end holds for every span the library produces. captureName is the tree-sitter capture name that is resolved against a SyntaxTheme only when the line is rendered.