func (s *Storage) Get(callback func(data map[string]interface{}, err error)) {
	s.o.Call("get", nil, func(vals interface{}) {
		if err := s.chrome.Error(); err != nil {
			callback(nil, fmt.Errorf("failed to get data: %v", err))
			return
		}
		callback(vals.(map[string]interface{}), nil)
	})
}
Get reads all the data items currently stored.  The callback will be
invoked when complete, suppliing the items read and indicating any errors.
The data suppiled with the callback is a map of key-value pairs, with
each representing a distinct item from storage.

See get() in https://developer.chrome.com/apps/storage#type-StorageArea.
package chrome
import (
	"fmt"
	"github.com/gopherjs/gopherjs/js"
)
type Storage struct {
	chrome *C
	o      *js.Object
}
func (s *Storage) Set(data map[string]interface{}, callback func(err error)) {
	s.o.Call("set", data, func() {
		if err := s.chrome.Error(); err != nil {
			callback(fmt.Errorf("failed to set data: %v", err))
			return
		}
		callback(nil)
	})
}