Add remote storage backend support

- add Storage#getMode(), which returns 'local' or 'remote'
- add callback parameter to Storage#register()
- get/post JSON from remote server
- add Blob polyfill for testing