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
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