Add methods to MappedAST to check if a given Decl or Stmt is contained in the
AST's mapping: contains(::clang::Decl const *) and
contains(::clang::Stmt cont *).

Add methods to MappedModule to find the MappedAST that contains a given Decl
or Stmt, if possible: getASTForDecl() and getASTForStmt().
Add "return_value" Stmt link for ReturnStmt explanation.
When mousing over a character in an explanation that is linked to a Decl or
Stmt, highlight that Decl or Stmt in the source code viewer.

Add a new event type, HighlightEvent, which indicates that a particular item
should be highlighted (or have a previous highlight removed). Currently this
event can indicate Decl or Stmt items, and supports two events:
SEEC_EV_HIGHLIGHT_ON and SEEC_EV_HIGHLIGHT_OFF.

In ExplanationViewer, when mousing over a character that is linked to a Decl or
Stmt, a SEEC_EV_HIGHLIGHT_ON HighlightEvent will be raised for the appropriate
Decl/Stmt. Similarly, when the mouse leaves the character (or window), a
SEEC_EV_HIGHLIGHT_OFF HighlightEvent for that Decl/Stmt will be raised.

In SourceFilePanel:
- Allow state indicators to be set by file offsets rather than line/column,
  using stateIndicatorAdd().
- Allow temporary indicators to be added and removed independently of the state
  indicators, using temporaryIndicatorAdd(), temporaryIndicatorRemove(), and
  temporaryIndicatorRemoveAll().

In SourceViewerPanel:
- Add getRange(), which finds the source range covered by Decls and Stmts. This
  is preferred to the previous getPrettyVisibleRange(), because the new method
  correctly find the end of the last token that is part of the Decl/Stmt.
- Modify all active code highlighting to use the new getRange().
- Receive SEEC_EV_HIGHLIGHT_ON and SEEC_EV_HIGHLIGHT_OFF, and set/clear
  temporary indicators to highlight the relevant Decl and Stmt (if the source
  file can be found).