Don't re-parse terminfo (twice!) on every compiler diagnostic

Stuff the term::Terminal into TLS to avoid re-parsing for every single
message we want to color.

Fixes #6827.