New image.py, added support for channels() to PG, Selector and all from GenericImage on

For you to make progress with your project, I guess we should leave this as is, but I thought the plan was to accept multiple pattern_generators instead...