Adding prefetch (preemptive caching)

With prefetch you can preemptively cache a path's content so that when the user requests the content it's instantly available.

For that the `App.prefetch(path)` method is implemented. It's indifferent to the screen in use, but it's required that the screen in use is cacheable.

Modern browsers such as Firefox and Chrome implement native prefetching / prerendering one way or another and I've took a while to see how I could take advantage of these, but sadly my findings were rather inconclusive.

Some things to consider:
1. read links' / anchors' rel attributes (prerender/prefetch) metadata to prefetches the path
2. try to integrate the browser's native prefetch / prerendering mechanism (not possible and / or not viable from what I've checked).

Should we listen to the *rel="prefetch"* attribute or add something with this idea, like an option to automatically prefetch when hovering links or something? What do you guys think? I'm not confident with any of these.

Reference
* [Chrome Prerendering](www.chromium.org/developers/design-documents/prerender)
* [Prebrowsing by Steve Souders at Velocity NY 2013](https://www.youtube.com/watch?v=Msqs1jIzgo4)
* [Preconnect, prefetch, prerender ... aka, building a web performance oracle in your application! Ilya Grigorik](https://docs.google.com/presentation/d/18zlAdKAxnc51y_kj-6sWLmnjl6TLnaru_WH0LJTjP-o/present)
* [High Performance Browser Networking (the book)](chimera.labs.oreilly.com/books/1230000000545/index.html)
* [Prerender test](https://prerender-test.appspot.com)
* [Web Developer's Guide to Prerendering in Chrome](https://developers.google.com/chrome/whitepapers/prerender)
* [Link prefetching FAQ](https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ)
* [Predictive Fetch](ajaxpatterns.org/Predictive_Fetch)