ColoredString doesn't attempt to decode explicitly given bytes in python 2

In python 2, if you made a byte string colored, it was assumed to be utf8 encoded, and needlessly decoded/encoded whenever __str__ was called

(I also fixed some indentation)