Uses C++11 instead of boost where applicable.

Doesn't require the boost static libraries, only the header library.
Don't instantiate read_ptr and write_ptr in client code. Use read() and write() instead.