Fix viewport preview generation
Instead of creating new thread per preview request,
use single thread and cancel unfinished preview requests.
If user changes the filter configuration, they are invalid anyway.
Hopefully this solves the problem when user was changing
filter settings quickly by draging sliders here and there.
The UI feels also much more responsive.
Inspiration for this solution was Mandelbrot example from Qt.
This solution uses proper synchronization. Previous implementation
did not synchronize any shared resources, thus it was crashy!
CCBUG:345707