Improve smart terminal, adds newline + uparrow mode to allow piping to sed & grep.

This feature allows you to pipe ninja output through a sed script without losing the smart terminal feature.
My goal was to colourize the paths & files in the ninja (& build tool) output. I have included my color script in etc/color. Use it with :

ninja --smart=on-with-newline | ./etc/color

Commits : 
 - Add explicit on/off command line option for the smart terminal feature
 - Add on-with-newline feature. This will always write a newline at the end of a status message, followed by an move-up-one-line escape character. This is not (yet) implemented on Windows.
 - Added support for \xHH escape codes in the ninja status message, eg. set different colors for different build rules.