Added support for NChannelImage and ExtendToNChannel


Sorry for all the previous open/close pull requests. This is the only merge to look at.

Between something called 'dumb' and something called 'faster' I would always pick the later. :-)

I would recommend either getting rid of ``_threeDdot_dumb`` and rename ``_threeDdot_faster`` to just ``_threeDdot`` OR name the former ``_threeDdot`` and the latter ``_threeDdot_opt`` (for consistency).