Storage event issue

This PR makes sure storage events do not cause errors when the stored values are not JSON, or when events are not listened to.
Are you sure we should log that as a warning ? Users are free to use the storage the way they want, including a way where they decide to not use JSON.

With that active, they would get plenty of warning that are strictly not valuable for them. They already know they are not dealing with JSON.

I would do something like that:

```javascript
try {
  oldValue = this.serializer.parse(event.oldValue);
} catch (e) {
  oldValue = event.oldValue;
}
```