fix(webview): better label highlighting
This MR is an initial refactoring for implementing #257 (closed). It also happens to fix the label highlighting, but mainly it uses GraphQL for getting discussions and so it avoids having to render each comment through the /api/v4/markdown
endpoint.
Part of #253 (closed) #257 (closed)