improve NewGameController (continuation of the changes started in 37172e5)

- the user's choices are now stored in NewGameModel and written
  to the user defaults system
- implementation of NewGameController becomes simpler and more
  logical now that the user's choices can be stored in a model
- various other collaborating classes can also be simplified because
  they no longer need to transfer data from NewGameController to
  NewGameModel
drop support for iOS 4.3, the minimum required version is now 5.0
replace toolbar above Play view with navigation bar

motivation for the change: on the iPhone a navigation bar looks a lot
better than a toolbar at the top of the screen. consequences of the
change:
- most of the icons need to be replaced because they are painted with
  a shade of gray, which lets UINavigationBar draw the icons also with
  an ugly gray; the replacement icons are now painted with pure white
  (as recommended in the HIG)
- the API to place more than one left/right button into a navigation bar
  requires iOS 5.0
fix issue with Fuego build and newer Autoconf/Automake versions
iPad layout: left pane of split view can now be displayed in portrait mode

change details
- PanGestureController now uses a delay for detecting its "long press" gesture;
  this fix allows a few touch events to get through to UISplitViewController so that
  it can react to a swipe gesture
- NavigationBarController is now the delegate for UISplitViewController, which
  allows it to display a button in the navigation bar for presenting the left pane of
  the split view
- Refactoring in PlayViewController due to timing issues (NavigationBarController
  must now exist before the UISplitViewController is created)
remove @synthesize statements where possible

properties are synthesized automatically since Xcode 4.4 [1], so there is no
need anymore for those 500+ lines of boilerplate code; this article [2] has
a good overview of the feature.

[1] https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/ObjCAvailabilityIndex/_index.html#//apple_ref/doc/uid/TP40012243
[2] http://useyourloaf.com/blog/2012/08/01/property-synthesis-with-xcode-4-dot-4.html
iOS 6 compatibility: replace deprecated dismissModalViewControllerAnimated:

replace UIViewController's dismissModalViewControllerAnimated:; which was
deprecated in iOS 6, by dismissViewControllerAnimated:completion:; the new
method has been added in iOS 5
iOS 6 compatibility: replace deprecated presentModalViewController:animated:

replace UIViewController's presentModalViewController:animated:; which was
deprecated in iOS 6, by presentViewController:animated:completion:; the new
method has been added in iOS 5
iOS 6 compatibility: updates regarding deprecated viewDidUnload

there are three types of changes:
- remove viewDidUnload in those view controllers where viewDidUnload was
  empty
- keep viewDidUnload in those view controllers that contain observer
  registrations in viewDidLoad, which in iOS 5 need to be balanced by
  de-registrations in viewDidUnload; in iOS 6 de-registrations are
  unnecessary because viewDidLoad is not invoked a second time
- add didReceiveMemoryWarning to those view controllers that genuinely
  need to free resources in low-memory conditions; except for
  SectionedDocumentController, viewDidUnload remains in place
  for those controllers to keep iOS 5 compatibility
iPhone layout: board position views now properly initialize themselves

the board position list view and the current board position view did not initialize
themselves properly; this was not a problem when they were displayed the first
time after the application launched, but the problem became visible when
PlayViewController reloaded its view after it received a memory warning
cleanup PlayViewController: initialize ivars to nil
iOS 6 compatibility: keep deprecated shouldAutorotateToInterfaceOrientation

iOS 6 deprecates UIViewController's shouldAutorotateToInterfaceOrientation, but we need
to keep the method for iOS 5 support; in iOS 6 we would not need the method at all, and
we also would not need to override supportedInterfaceOrientations, because the project's
Info.plist provides all the restrictions that are necessary for this app

note that this commit does not contain any functionally change, it just adds comments to
all view controllers, stating that shouldAutorotateToInterfaceOrientation exists only for
iOS 5 compatibility
iOS 6 compatibility: rotate to portrait upside down on iPhone

In iOS 6 the supported orientations are determined by the intersection of the
orientations supported by the app's Info.plist - which before this commit already
contained portrait upside down - and the orientations supported by the root view
controller - which before this commit was a default UITabBarController that supports
all BUT portrait upside down in its implementation of supportedInterfaceOrientations.
The change in this commit therefore is to introduce a custom tab bar controller that
supports portrait upside down, and to add that controller to the applications's two
.xib files.

A side effect of touching the .xib files with this new version of Xcode is that, even
though the document format is not changed and remains at IB 3.1, Xcode
automatically performs substantial and opaque changes to the .xib files.
remove unnecessary pre-iOS 5 checks for function availability
remove unnecessary pre-iOS 5 icon-related keys from Info.plist