Add CaptureClicks component

This component captures clicks from normal <a> elements and translate them to
the applicable router navigation.
Test that CaptureClicks handles a simple case
Ensure that external link clicks aren't captured
Ensure that unhandled paths aren't routed
Test subroute behavior with CaptureClicks

This commit contains failing tests to develop against.
Add docs page about CaptureClicks
Fix "doesn't navigate" tests
Check for null match
Register contextual routers
Make unhandled route actually unhandled
Call onBeforeNavigation after matching
Pass state to onBeforeNavigation
Ignore download links
Start handling link clicks async
Remove contextual routers

Because of problems with async detection of missing routes, we've decided to
ignore these for now.
Correct match test
Remove test

For now, we're going to ignore subroutes when determining whether to follow a
link.
Improve test errors
Fix typo
Ignore rel="external" links