Add support for different storage type #5

Following up the referenced issue. I've allowed the user to pass an object into the options that will be used for storage. This can be a simple in-memory object if it follows the three API methods laid out by localStorage/sessionStorage. The simplest solution that doesn't impact the existing API or use of depot.

Declaring the object in the options possibly makes [the check for the presence of the object](https://github.com/simonsmith/depot.js/commit/d980315a825fac7d0d715f3ea7cd69fe41af5312#L0R212) redundant, so not sure whether to handle this a different way.

Also happy to add to the documentation once this has been reviewed.