LevelStorage rehash

Based on 81b15a7 by @vmakhaev

Changes:
 * Removed explicit level(db) deps; now the db or the constructor
   (factory) is provided by the caller.
 * Use leveldown interface instead of levelup (our usage pattern
   is simple, so an iterator is even more clear than a stream)

 Nota bene:
 * Still may be used isomorphically by wrapping IndexedDB with
   level.js https://www.npmjs.org/package/level-js
 * May include LeelStorage into default bundles; it is mere 150LoC