Simple spawner for long-running CPU tasks that don't have any pause points.
Spawn a task on a thread pool that starts immediately and returns a future
that can be later polled by any other executor. Also provides old style
`wait()` function to be synchronously polled on the current thread.