Color support (fixes #1)
Colors: add exception safety
Disable colors when stdout is not a terminal