Refactor of HSV_to_RGB to account for some weird edge cases.