Fixes #161. Process option hooks as well as proto hooks.

- TODO: Update tests

Notes:
Hooks are now processed in this order:
Router global options ->
  Route options ->
    Superclass prototype ->
      Subclass prototype ->
        Instance