Yes, there are plenty of libraries. They all do the same thing differently. Using multiple libraries means your constantly converting.
Colours don't not need to be a 3-vector, you can have a rgbfta<...> filter transmit alpha etc. It does not even have to be a vector. Chroma is fine. It is about having standard ways of doing things. Imo vector / colour manipulation is nothing different that say string manipulation, complex numbers or timehandling.
