"Game info" view is now correctly dismissed when user taps the "Play" tab bar icon

before this fix, a tap on the "Play" tab bar icon did dismiss the view,
but the view controller was not deallocated, resulting in a crash when
a new game was started.

a welcome side effect of the changes in this commit is that handling of
GameInfoViewController is no longer a convoluted mess of delegation.
the drawback is that NavigationBarController, which is a small
sub-controller, now has to be the delegate of the Play tab root
navigation controller.
fix issue with board position list on iPad after portrait-to-landscape rotation