feat ($http): Add custom createXhr factory to config object

To be able to construct non-standard or customised XHR objects a factory an optional factory function can be added to the config object. This is required for use of the mozAnon and mozSystem options for FirefoxOS.
See https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#XMLHttpRequest() for details.

This is an alternative solution to the one suggested in PR  #7903. Closes #2318
even though this is smaller and saner, i'm not sure if we can actually make this change. @jeffbcross wdyt?