This function takes an R color and converts to an HSL matrix, using the farver package farver::decode_colour()
the colorspace package, and RGB and polarLUV functions. It is also used to maintain alpha transparency, to enable interconversion via other color manipulation functions as well.
When model="hsl" this function uses farver::decode_colour()
and bypasses colorspace. In future the colorspace dependency will likely be removed in favor of using farver. In any event, model="hsl" is equivalent to using model="polarLUV" and fixup=TRUE, except that it should be much faster.