prepare for a new hsv2rgb implementation

this is intended for microcontroller use, so it will be optimized for a 8 bit cpu target
add p() and tests for it

yay, play around with tests and corner cases and integers and things *gg*
prepare for testing h_i
move arg check and output failed values
add some text why and what and so on
complete tests for hi8() and implement function
implement f()
define basic test and function for q()