Local storage shim

This pull request adds a shim to standardize local storage access across platforms. Since Firefox's Xul extension system does not support localStorage, it is currently the only exception. Once this PR is merged, all gets and sets to localstorage should be done through this library.

todo: test this on Firefox.