Better HSV to RGB conversion, fixed rounding error.