make counter for long-running actions global (closes #136)
redesign concept for saving/restoring application state (#124)

change details:
- refactor NSCoding archive handling out of BackupGameCommand and
  RestoreGameCommand into separate command classes
- add new class ApplicationStateManager that makes use of the new
  command classes
- use ApplicationStateManager in addition wherever BackupGameCommand
  was previously used
- use ApplicationStateManager to restore the application state during app
  launch (instead of directly executing RestoreGameCommand)
- simplify ChangeBoardPositionCommand because now we can have
  nested save points
add delayed application state saving (#124)

agents that change application state can now delay saving the state
until the time when the application goes to the background. the first
agent that makes use of this is ChangeBoardPositionCommand.
GoScore is now constructed by GoGame instead of by ScoringModel (#151)

this is a large-scale refactoring that makes many things related to scoring more straightforward
and understandable. the most significant change, however, is that GoScore is now a part of the
object cluster around GoGame and is therefore automatically saved and restored as part of the
application state.
GoScore now posts notifications in a uniform way
NavigationBarController now obtains ScoringModel instance on its own
changing board position now stays in territory scoring mode

the changes in commit 10bde38 made it so that a board position change temporarily
exited territory scoring mode, causing the Play view to be temporarily redrawn without
territory markup. the changes in this commit fix this regression.
application state is now saved when scoring information changes
tap gestures are now correctly recognized when application launches into scoring mode
initial refactoring of how the Play tab view hierarchy is set up (#137)

change details:
- convert various controller classes into UIViewController subclasses
- use the UIViewController API for associating container and child view
  controller
- create new root view controller class PlayTabController
- refactor most of the stuff in PlayViewController into other classes
cleanup of how some initial view frames are calculated
separate iPhone and iPad view hierarchy into distinct view controllers

change details
- split PlayTabController into two device-specific subclasses
- place iPad-specific split view handling into left/right pane view
  controllers
reorganize files in "play" subfolder
fix board position stuff on iPhone
remove DebugPlayViewController
remove PlayView sharedView method
review coordinate label views' setup
more cleanup after view controller refactoring
fix status view observation of cross-hair changes
fix autorotation for iOS 5