Clean up ThreadUtil, use standard C++11 constructs instead of custom ones.
ThreadUtil shipped a scope lock and a mutex implementation, which can be removed since we now have these in the standard library.
This lets us clean up this header which get included everywhere (through profiler includes).
Tested By: Angen and Stan
Differential Revision: https://code.wildfiregames.com/D1915