if (e) {
      this.keyboardWillOpenTo = e;
    }
Warning, this may be called several times for a single keyboard opening.
It's best to store the information in this method and then take any action
at a later point (either in `keyboardDidShow` or other).

Here's the order that events occur in:
- focus
- willShow {startCoordinates, endCoordinates} several times
- didShow several times
- blur
- willHide {startCoordinates, endCoordinates} several times
- didHide several times

The `ScrollResponder` providesModule callbacks for each of these events.
Even though any user could have easily listened to keyboard events
themselves, using these `props` callbacks ensures that ordering of events
is consistent - and not dependent on the order that the keyboard events are
subscribed to. This matters when telling the scroll view to scroll to where
the keyboard is headed - the scroll responder better have been notified of
the keyboard destination before being instructed to scroll to where the
keyboard will be. Stick to the `ScrollResponder` callbacks, and everything
will work.

WARNING: These callbacks will fire even if a keyboard is displayed in a
different navigation pane. Filter out the events to determine if they are
relevant to you. (For example, only if you receive these callbacks after
you had explicitly focused a node etc).