First go at making the estimator plugin utilize client storage
to prevent lost estimates. Previously Browser crashes / accidentally
closed tabs, etc would cause a loss of the estimate which can be
horrifying when it happens. To prevent this I made the plugin detect
when HTML5 storage is available and to utilize it to persist data across
visits to the site.

Data for each url is cached in a per-page manner, so estimates shouldnt
collide with each other. We also ignore the cache if the server reports
a change (saved the estimate in another browser). Hopefully this will
make this plugin much more generally useful and I will never lose another
estimate.