Apply syntax highlighting to Exprs in REPL (#54446)
Large exprs (such as those produced by @macroexpand) can be hard to read
and interpret. This is a problem made easier by JuliaSyntaxHighlighting,
and with it we can easily apply syntax highlighting when showing exprs.
Normally this would be implemented in Base's show method for Exprs,
however since JuliaSyntaxHighlighting is a stdlib we must look
elsewhere, and REPL seems like a sensible place.
To ensure that the IOContext of the REPL IO is properly respected,
we change the show invocation within the REPL display method to use
show_repl which falls back to just calling show, as before. We then add
a show_repl(::IO, ::MIME"text/plain", ::Expr) specialisation, which
prints expressions with syntax highlighting.