Fix stack overflow when formatting ColorMask

The old implementation of ColorMask relied on itself for formatting,
leading to an infinite recursive loop and eventual stack overflow.
_ => writeln!("{:x}", *self),