XML tables

* Adds a formatting layer with one type of data (table)
* NodeStack now extends the more generic PriorityStack (which is in turn is used to build table headers)
* Add the original source xml to nodes (only added in one spot at the moment, but could be expanded)