Initial import

This is my first push of code to GitHub, made as a pull request for easier review
Whenever I've seen this pattern before, the `Response` object that's cached is `.clone()`ed and the `Response` object that's returned to the controlled page isn't. It may not make a difference one way or another, but I'm curious whether @jakearchibald has anything to say about that.

(I vaguely recall that Chrome 40 might not be as strict as it should be about requiring `.clone()`ing, so just because this works isn't necessarily a guarantee that it's "correct".)