Improve span highlighting

* Fully highlights multiline spans.
* Includes line numbers.
* Uses Unicode glyphs for highlighting when available.
* Includes context after the last line of the span for a
  manually-constructed SourceSpanWithContext.

This draws heavy inspiration from Rust's multiline error highlighting.
10 files changed
tree: d1353cf3dfb44db468ab542946ed1132c98c7e92
  1. pkgs/