extended HTML5 localStorage via cross-origin postMessage