C++11

Reference #1401.

Change much stuff to use new library.
You should be able to rig something up with `std::thread::native_handle`