Spice up text formatter.

This is a seriously subjective pull request and as such I've no doubt it's to be rejected.

However I wanted to point out a few things that probably would be good to see get in. In Go, string appends are slow and bad, and conversions to and from string and []byte are a full copy. You can avoid all of this by using fmt.Fprintf(byte.Buffer, ...) as I've done here, so that'd be good to get in.

Colored key values would also be super cool which was the entire reason I started hacking on this. I also realize I could have not forked and just made a custom formatter but before I got carried away I thought colored key values ought to go in!