Fix HsvToRgb for negative hues and hues == n/6
add saturation knob