Reverse order key events are checked.

Rather than checking for one of the top-level window's keyboard
shortcuts first, run the virtual keypress handlers all the way down
through the focused widget and back up through its parents before
checking our own.  If the event was handled by a child widget, we
should not interfere by running our own handlers.

One case which this fixes is using ^W to delete the previous word in
an entry box such as the URI entry or a text box in the focused
webview.  In this case, we should not also notice the ^W, which would
result in closing the tab.