Add fallback to LocalStorage

If IndexedDB and WebSQL are both not available, we
fallback to using window.localStorage instead

* add new dependency: LocalStorage.js @ mwager/LocalStorage
* fix implementation
* add tests for LocalStorage fallback