API changes

* Hide implementation details behind void pointer.
* Add example application.