GoScoreScoringDisabled and GoGameWillCreate are now sent in sequence

the problem
- GoScore sends the GoScoreScoringDisabled notification asynchronously
  on the main thread
- NewGameCommand is sometimes executed on a secondary thread (e.g. as
  part of loading a game from the archive)
- as a result, there is no guarantee that GoScoreScoringDisabled is
  delivered before the GoScore object that posts it is deallocated;
  receivers of the notification might therefore access a deallocated
  GoScore object
- in fact, there is not even a guarantee that GoScore is not deallocated
  between the time it invokes
  performSelector:onThread:withObject:waitUntilDone:, and the time
  that the postNotificationOnMainThread: selector is actually invoked

the fix
- GoScore waits until postNotificationOnMainThread: has finished
  executing
- this establishes a sequence in which notfications are delivered:
  GoScoreScoringDisabled first, followed by GoGameWillCreate

the consequence
- although GoScoreScoringDisabled and GoGameWillCreate are now delivered
  in sequence, they are delivered in different threads
do not send unnecessary drawing events to layers when new game is started
tiling: fix pan gesture to place stones
TiledScrollView clears queue with reusable tiles if memory warning is received
BoardTileView now updates layers if it is reused

a BoardTileView instance in the reuse queue no longer receives any
notifications, so it might miss events that require a layer to be added
or removed. BoardTileView therefore now updates its layers when it is
re-activated from the reuse queue.
invalidate cached CGLayers if layer delegates are deallocated
minor comment