Update code to create a new worker thread when needed instead of trying to wait and reuse. Allow the old threads to gracefully cancel. This allows for much smoother action under rapid zooming.