Add controls for sat and lum. Not sure the HSL->RGB is correct
Add support for arbitrary precision math