add RGBSpace
couple basic_rgb with color space to bring type safety wrt to color space
separate declaration from implementation in basic_rgb
rename basic_rgb -> LinearRGB
add some comment after failure to generify RGB algorithms