DO NOT MERGE: Issue 2106: Live Preview Snapshot

This is a PR for issue #2106.
This, I *can* think of an example for! `keyWindow` will be nil before `-[UIWindow makeKeyAndVisible]` is called... Do I ever expect this framework to encounter this use case? No way. But robust code is still good code. :)