Mapper: use localizingCursor() for performance

We localize at each pixel, so this cursor is faster.
ApplyFunctionToImageInPlace: allow any Iterable<T>

And we rename to ApplyFunctionOverIterable to convey the new intent.