C++ library

TODO: Write a C++ user guide

For now, we refer to the header files and code examples in the source tree: