Extends D3848.
The idea is that some tasks, such as the netclient, need to run regularly but are very fast to execute, so a dedicated thread would be "mostly idle". If we have several "mostly idle" threads, they'll end up waking up randomly, pessimising the designe of the thread pool.
Instead, this implements a single 'Timer' thread, that wakes up at fixed intervals (intended to be 'short enough'). There, very fast 'dispatch' tasks are run, that may push work to other workers. The timer thread is intended to go back to sleep ASAP.
The 'recrrent tasks' push work on the other workers, keeping the 'contract' that we have one thread-per-core & efficient resource usage, and the single timer-thread avoids having multiple mostly-idle-threads waking at random times.
This can also easily be adapted for sound & the net server. I think it's better than dedicated threads, since those threads still mostly sleep.
A GPU thread would probably need its own worker, so that's handled by a different use case.