Implement color console for NUnitLite

This fixes #222

I couldn't use the code from nunit-console, because NUnitLite does all it's writing to a TextWriter that is passed in to it,  which may or may not be NUnitConsole. In order to make it work, I split off the write statements inside of ColorConsole and made a new class ExtendedTextWriter, which passes output on to another writer and implements the extended color stuff.

Other changes:
* WriteLabel takes an object as value and does the ToString() itself.
* Color is always disabled unless we know for sure we are writing to the console.
* The command line option to turn off color is not implemented, I'll push another commit with that.

The default is CurrentUICulture.  This code just came from habit of explicitly stating the culture in all string  methods. At my day job, we need to be vary careful that strings saved to the database are invariant and that strings displayed to the user are current culture. By explicitly stating it in the call, it means that you have thought about it and selected what is correct rather than accepting the default.

Old habits die hard :smile: