Refactor click handling, link checking, and url parsing into classes; ensure absolute urls used for cache keys and state objects.
Merge pull request #336 from reed/master

Always use absolute URLs for cache keys and in state objects - Fixes #333 Closes #334