Display error type (error, warning, script error) in OS::print_error + cleanup error ANSI coloring
Created by: akien-mga
tl;dr: In the end, it looks like this:
Previously all types of errors would be shown as ERROR, thus making for example warnings (WARN_PRINT) somewhat aggressive.
Fixes #1127 (closed).
Note that I'm a beginner C++ developer, so the coding logic I adopted might not be the best one. I also only tested the changes on Unix/X11, so the changes for Windows and WinRT need to be thoroughly reviewed (though they're more or less copy-pastes of the Unix code).