PlayView now properly reacts to frame changes (Hallelujah!)

PlayView now overrides layoutSubviews, which is invoked every time that
a frame change occurs, and triggers its layer delegates to redraw their content.
Due to this change, PlayViewController can now assign an autoresizingMask
to PlayView - UIKit will now handle all the frame calculations when an interface
rotation occurs, assign the new frame to PlayView, which in turn redraws itself.
All the weird rotation handling in PlayViewController can now finally be
eliminated.
the Game Info view is now shown via navigation controller

Due to this change, PlayViewController no longer needs to perform a custom
flip animation that involves a backside and a frontside view. The two views can
be eliminated, which has the following benefits:

- The view hierarchy is one level less deep
- PlayViewController no longer needs to track interface orientation changes
  because it no longer has to update the frame of either the frontside or
  backside view (whichever currently is not in the view hierarchy and thus
  not resized automatically by UIKit)
- Last but not least, an interface orientation change while the Game Info
  view is displayed now properly works with the new iPad layout. Note that
  the need to get this to work was the actual trigger for the change.
iPad layout fix: resize board position list on interface orientation change