C++ visibility
In order to support directory mode (#158), all module level attributes in the Python need to become exposed parts of the C++ module, which means removing the `inline` and using an `extern "C"` where possible, or moving inlines into a .h, or .. ?