Fix focus issue
Merge branch 'multiCoreOpt' of https://github.com/MrKepzie/Natron into multiCoreOpt
Scheduler: Many changes

 - All calls to renderCurrentFrame() now enqueue a new task that will
be run in the global thread pool. This allows for quick results and
maximum CPU usage.

- Better repartition of threads across the render engine makes it
possible to attain ~90% CPU usage during playback / render on disk.

The following issues remain to be polished:

- The picker doesn’t work well because of the _lastImageRendered member
in the ViewerInstance, it will instead move to UpdateViewerParams and
be stored in ViewerGL in a next commit.

- better handle changing the timeline bounds during playback, sometimes
the parallel render threads run short of frames to render because of
this, causing the user to have to press play again.

- The parallel render threads could be implemented using QRunnable and
the global thread pool instead for even better efficiency and
management of the CPU.