Added a DOM abstraction layer to Flying Saucer.
This patch replaces most w3c DOM access with a custom DOM API in a new org.xhtmlrenderer.dom package. Currently the JVM XML SAX parser is used to create the DOM hierarchy.
The intention behind this is twofold; 1) To allow Flying Saucer to have plug-in support for other HTML/XML parsers so that one day we can handle HTML files from the wild. 2) To allow us to connect the Flying Saucer DOM with the layout Box hierarchy allowing the possibility of interactive mutation of rendered content.
Additionally a bug was fixed where inline box creation was throwing a null pointer exception in some cases.