Add a "pre-route" event to the Router before execute()

For one of our apps, we need to do certain preparations to views before routes are executed: The "route" event fires too late for us. This PR adds a "pre-route" event that is identical to the "route" event but triggers before execute().