improved rgb_to_hsv and hsv_to_rgb in colors.py

functions now take anythang that can be coreced into a (..., 3) shaped ndarray

make documentation clear that the input must be in range [0, 1]

properly deal with integer (binary) input

added round-trip tests