fix benchmark regression
Sorry, I was focused on code cleanup and I did not see that the benchmark numbers were impacted.
It turns out that having set_pixel on the ExclusiveImageSurface caused a regression in the benchmarks. Go back to getting the data pointer and stride once and calling set_pixel directly on the data slice.
It might be cleaner to have a surface.modify(|data, stride| {...})
method, this way we do not have to use scopes etc, if you prefer that I can do it, but I preferred to fix the regression first