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.
Yea. If we make it required but nullable people can still call `"Press ".Color(null)` which looks worse to me so I think it would be best to either leave it as is or make it required and non nullable.