New version with lots of cool features

Removed compatibility with npm `crayon` package because I like this new interface better, but may
add compatibility with the old crayon back if that's desired.