Parallel Tasking Library (PTL) Lightweight C++11 multithreading tasking system featuring thread-pool, task-groups, and lock-free task queue