Simple `window.localStorage` abstraction with JSON (stringify/parse) support