refactor(storage): instantiate localStorage from a factory

Fixes #1921.

@ckarlof r?
`assert.ok(local._backend instanceof NullStorage)`?