Add a threadpool example
Rework the way ThreadPool tracks free threads to fix a bug where only one thread would be started to process a series of functions scheduled within a single transaction