for ColorMap, the source property did not set ._source, which caused
the getter of ColorMap.source to always return None; this commit sets
._source in the setter
in ColorMap._parse, the value was computed conditionioned with if ...
elifon the token type, which could either bei shortcolor or longcolor,
but implied the possibility that neither could be true; this commit
removes the branching and introduces value_it, which is either
token.value itself or an iterator, such that the value assignment is
independent of the color length