fixed division by zero bug in rgbToHSL