Fix rgb2cmyk corner case

Converting `rgb2cmyk([0,0,0,1])` gets division by zero resulting in `[NaN,NaN,NaN,100]`. This commit fixes that supposing that `black === {c: 0, m: 0, y:0, k:100}`.