Use URIResolver when loading XSLT source

The XSL processor is still attempting to reach out to the internet to resolve URIs in XSLT source files. This happens because the URIResolver is not registered on the TransformerFactory when it creates a Transformer instance for a given XSLT source.

This fix assigns the URIResolver to the TransformerFactory (which then gets assigned to any Transformer created from that factory) rather than on the Transformer. This change allows the processor to resolve URIs in the XSLT source when the source is being loaded.

This patch also registers the InputHandler as an ErrorListener for the TransformerFactory so that any errors that occur while loading the XSLT are logged consistently.