Support for https://localhost on iOS

[It's doable](http://stackoverflow.com/questions/1769888/how-to-display-the-authentication-challenge-in-uiwebview).  You basically intercept the original request in `shouldStartLoadWithRequest:`, directly load the new request in that web view, then return `NO` out of the method (i.e. "no, do not process the original request.").

But I think your approach is fine.  We can always revisit if we get pushback on our cache overloading.