This patch implements `textDocument/semanticTokens/{full,range}`. If the
client supports semantic tokens, $ccls/publishSemanticHighlight (now
deprecated) is disabled.
These token modifiers are most useful to emphasize certain symbols:
`static, classScope, globalScope, namespaceScope`.
The user can set the initialization option `highlight.rainbow` to 10 to
enable rainbow semantic tokens.
$ccls/publishSemanticHighlight with highlight.lsRanges==true (used by
vscode-ccls) is no longer supported.