Thread pooling and crash fixes

Using the ThreadPool will hopefully bring better performance than creating a new Thread for every frame.