Additional implicit Output objects

Output works with both (Image[RGB], PNG) and (Image[Gray], PNG).
More output combinations to come.
I'm going to merge this unchanged, because it's correct and should works great. But at the moment for loops with `Range` in the hot loop murder performance. We're boxing anyway until SI-5611 is fixed, so it's slow, but eventually we should make sure that this gets fast again