topViewSnapshot needs a new frame when setting topViewController

Reason for this addition is that the snapshot gets a zero rect if topViewController is set late in the game — in my case, after viewWillAppear is called. So I'm resetting the frame whenever topViewController is set. Fixed my use case.

Perhaps it's more appropriate to call adjustLayout instead of setting the frame directly, as the left and right viewControllers could also need updating in some scenarios which I can't fathom.