Call library methods only when ready

Defers actual library method calls until driver is loaded and ready. This renders the `ready()` calls unnecessary when using with RequireJS.

```javascript
define(['localforage'], function(localforage) {
    // As a callback:
    localforage.ready(function() {
        localforage.setItem('mykey', 'myvalue', console.log);
    });

    // With a Promise:
    localforage.ready().then(function() {
        localforage.setItem('mykey', 'myvalue', console.log);
    });
});
```

The above RequireJS example from the readme could simply be the following in both cases:

```javascript
define(['localforage'], function(localforage) {
    localforage.setItem('mykey', 'myvalue', console.log);
});
```
I'm not *quite* clear on what this does--the comment below doesn't make sense to me. Is this supposed to run any tests, or just stub out the methods so the `require` version loads them again?