always lock in convertData() to make sure image data is safe

TODO:
for QPainterRenderer without lock like before, crashes if an image is in
OSDFilter::process(), why?
why crashes when resizing without lock?
In QPainterRenderer::convertData(), why image can be constructed from
data but not d.data? why d.data = data is required?
Optimize time calculation