Improve XMLTestRunLogger API compatibility

The `XMLTestRunLogger` class accepts a string specifying a filename to output the XML logs to. However most of the other test run loggers, such as the descendants from `TestRunDisplay` accept a file identifier instead. To be able to easily substitute the different test run loggers other, this pull request changes the `XMLTestRunLogger` API so that it supports both options.

It also adds some tests to verify that both the old and new behavior works as expected.