Add C++ bindings.
Python: Reimplement high level bindings on top of C++ ones.
Add Java bindings.