Support for advanced VC hierarchy and rotation bug

Commits address two issues:

 * When rotating hidden tab bar it is shown as it is right below window's view.
 * Putting something else instead of a navigation controller into tabs breaks accessing `tabBarController` from a category. For me this was required when each tab became a container view controller for banner advertising.