Cache results using HTML5 localStorage with 5 hour expiry window.