XML: Refactor of feature detecting logic, resolves #1435

This fixes #1435.

Because of better feature detection, IE 9, 10, and 11 now use `DOMParser` whenever possible, rather than relying on `ActiveXObject` **first**.

--------------

Before, `Y.XML.parse` relied on the browser throwing a `ReferenceError` when `ActiveXObject`  did not exist. If, and only if that error was thrown, it would then fall back to `DOMParser`.

IE 11 has now set `ActiveXObject` to `undefined`. So,

```js
// normally throws a `ReferenceError` if the variable doesn't exist, but *doesn't* in IE 11.
ActiveXObject; // undefined;

typeof ActiveXObject; // undefined

"ActiveXObject" in window; // true
```