feat(color): Change color lightening to use HSL

Change color lightening, including the readable utility, to use HSL. This is
because the earlier implementation was broken and hacky, and using HSL is
a way to implement this in a much more natural-feeling way (being closer to
percieved lightness), especially for the current uses. Add a color:to_hsl()
function to make this easier, as well as a from_hsl utility that is only
in color, for now, but maybe should be exposed as an alternate constructor?