Add string extensions for colorizing text

This is a resubmission of an original PR which adds the option of creating a `ColorToken` using a string extension method.

You can now call 

```csharp
ColorConsole.WriteLine(
    "Press".Colored(ConsoleColor.Gray),
    " Esc ".Colored(ConsoleColor.Red),
    "to exit".Colored(ConsoleColor.Gray));
```
or
```csharp
ColorConsole.WriteLine(
    "Press".Gray(),
    " Esc ".Red(),
    "to exit".Gray());

```

EDIT (@adamralph): Also adds a `WriteLine(params ColorToken[] tokens)` overload.
(nitpick alert :wink:) Is there any use in having this optional? I think nullable is a good idea, but would anyone want to write `"Hello".Color()`?