Routing: Implement Caching
Routes are not cached at the moment.
- Whenever calling match() or resolve() the Cache must be checked for applicable entries.
- Whenever a route matches, the current URI and it's "matchingValues" must be stored in the Cache.
- Whenever a route was resolved, the current "routeValues" and it's "matchingURI" must be stored in the Cache.