Abstracted the TinyXML FileStream.
This commit only affects the TinyXML library.
Instead of using an implementation of a FileStream, it now uses an interface
that users of the library can implement.

This commit breaks:
The ability to use TinyXML based on a const char* instead of a string.
 Corollary this breaks SimDocumentXML and collada_dom since they used the
 const char* based methods.