DO NOT MERGE: Issue 2106: Live Preview Snapshot

This is a PR for issue #2106.
I don't expect them to, but I was trying to follow dependency inversion:
http://en.wikipedia.org/wiki/Dependency_inversion_principle

According to that, `WPAuthenticatedSessionWebViewManager` doesn't depend on an injection of state (i.e. a hardcoded set of initializer arguments), it depends on an *abstraction* (i.e. the protocol: `WPAuthenticatedSessionWebViewManagerDelegate`).

So, as `WPAuthenticatedSessionWebViewManager`'s needs change, the abstraction it depends on changes, and, accordingly, the implementation of that abstraction in dependencies must be changed.

Among other things, this allows refactors to be approached as a change in the way a protocol is adopted/implemented, as opposed to relying on compiler breakage from selector changes (i.e. changing the initializer's arguments).