making console colors thread safe

#37
I think when I've seen this pattern the "before" variables are named `originalXyz` to better indicate their intention. (It's not just some *arbitrary* foregroundColor, it's a specific one.)