Moved shared bits of GenericImage into new base class ChannelGenerator shared with CompositeImage