This will improve cross-platform support for future shells, and also hopefully allow the code to become more clean and understandable. As @stereokai showed in #14, currently Windows in PowerShell does not properly render the ANSI escape codes as color.
There is likely a strong chance to refactor and clean up the UI formatting code with this too, which is worth being opportunistic with if it presents itself.
Some of the color libraries seem to have the built in ability to disable color output entirely in a convenient way without branching all the UI code (fatih/color), which could be a nice command line switch to add to scmpuff status if easy enough to do cleanly.