In some cases (mostly mac but not just), we can get to the dtor for
thread pool after the CV has already been destroyed. This prevents that
from being possible and hopefully fixes the crash
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22583
(cherry picked from commit 1b4a840820)
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn