Resources fetching robustness

- Follow resource HTTP caching directives
- Render page with successful resources in case of timeout
- Always render with cached resources, if available
- Refresh expired resources in background
- Prevent refreshing an expired resource multiple times at once

Fixes #101.