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());

```

I don't think these conditionals are necessary. IIRC the `ColorToken` constructor is null tolerant so we can just pass the value straight to the `Colored` extension method which would make all these color-specific methods into one-liners.