Add before-filters

User can create filters on routers & subrouters with `r.Filter(MyHandlerFunc)`. Subrouter filters are only applied to the subroutes and their children-subroute-tree. So a filter applied to the most general/parent router will apply to all routes.

Let me know if you have questions! Happy to make changes.