C++11

Reference #1401.

Change much stuff to use new library.
Not everyone uses your IDE. Most c++ syntax highlighting is not clever enough to tell macros from variables so do not highlight macros.