The qimg_buffer_ member was added to avoid reallocating the full-size image
every recolour, but GeneratePixmap still built a local QImage and the member
was never referenced. Wire it up: the buffer is reallocated only when the
image dimensions change.
The data pointer is taken once, before the parallel loop. scanLine() is
non-const and would otherwise have every worker detach the buffer at the same
time, which is a data race as soon as the buffer is shared with the pixmap.
18.1 Mpx recolour: 28.0 -> 22 ms (measured on the colouring path alone).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>