Start drafting custom color support

This is mostly just taken out of @SyntaxColoring's ansitext [1]. I just
want to see what I can do with it.

[1] - https://github.com/SyntaxColoring/ansitext