Compile with C++ compiler instead of C
Make element into a class
Make comment into a class
Make text-node into a class
Convert node into a class and make it the base class
Remove shim element functions
Remove shim comment functions
Remove shim text node functions
Remove empty header file
Remove shim typedef for element
Remove shim typedef for comment
Remove shim typedef for text-node
Remove shim typedef for node
Make code a bit more C++ like

Define variables close to use, use nullptr
Make output into an interface

Also remove default behavior to print to stderr
Make document into a class
Cleanup included headers a bit
Remove stub document typedef
convert nmtoken to a class
Change node foreach methods to use functors