dtype input checking boundaries moved; renamed _f, _f_inv
dtype input checking boundaries moved; renamed _f, _f_inv

* mysterious _f and _f_inv functions reimplemented from the original husl.py were poorly named
* they are really about converting to/from Y from CIE XYZ from/to L from CIE LUV
* moved  decorators to lower down in the call stack
* checking for dtype inputs lower in the stack lets us have different implementations that expect different dtypes (i.e. C code that expects RGB arrays to be uint8, while the NumPy impl expects an array of floats)

TadLeonard/husl-numpy,TadLeonard/husl-numpy,TadLeonard/husl-numpy