Change the way compiler diaagnostics are printed.

Previously it requires that the text is formatted so that it starts at the beginning of the line.
I wanted to refactor this file behind a trait, but noticed the current implementation relies on the
fact that the strings start at the beginning of the line (literally no whitespace before the text).

I have no idea if there's a better way to do this, feedback welcome!