Fix memory problems with many render job queued.

Set the thread to running in the main thread otherwise it can happen
that we queue a lot of new jobs before the thread starts again.

This problem occurred in the frequency map painter when reloading the
data and "new data" events were flooding the message queue. Now the "new
data" events are accumulated in a dirty region (as intended previously)
and only triggered for rendering when the "render thread finished"
message is finally processed.
Store the amplitude data and not the raw audio signal.

Now we don't need to re-calculate it every time when we re-render the
frequency map.
Implement magnetic middle point for the contrast and brightness seekbars.