Updated Pause functionality

Removed directly accessing GameController's runState variable. Instead,
GameController sends out an OnPause event broadcast. Any class that
needs to detect if the game is paused should subscribe to
GameController.OnPause. The subscribed method should take one boolean
variable. If the parameter's value is true, the game has been paused by
the GameController. If the parameter's value is true, the game has been
unpaused. You can then save that parameter value into your own boolean
variable. For consistency sake, please name your boolean variable
"isPaused." Take a look at GUIScript.cs for an example of how to
subscribe to this event.