Make ANGLE's Worker Pool actually pool the threads. When starting a lot of short-lived tasks, this increases performance by over 70 times on my machine. Old code, decoding a 16x16 ASTC texture with 8 threads: *RESULT AstcDecoderPerfTest.cpu_time: run= 2,847,708 ns *RESULT AstcDecoderPerfTest.wall_time: run= 1,841,014 ns New code: *RESULT AstcDecoderPerfTest.cpu_time: run= 81,602 ns *RESULT AstcDecoderPerfTest.wall_time: run= 27,088 ns Bug: angleproject:7757 Change-Id: Ib643405675c50b2ed8ccd24d6caa7e57335130e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953905 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Greg Schlomoff <gregschlom@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>