Return an XMLHttpRequest instance, add support for "progress" events

Ditching the Promise interface for now, and returning a "mock" XMLHttpRequest instance directly.

This way, the "upload progress" interface is identical to that of `wpcom-xhr-request`, making it possible to write code listening for progress events and be able to seamlessly switch between request backends.