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

We do need a note for why the deepcopying is needed right now. My understanding is that this won't be necessary if time_dependent is always set to True.