Make PushEvent's data payload binary instead of just a string

This exposes binary data as a Body mixin from the Fetch spec,
as discussed on https://github.com/w3c/push-api/issues/83
@annevk where might we define such a generic object? WebIDL? Could we just make ArrayBuffer more powerful? I've [made PushMessageData a NoInterfaceObject](https://github.com/johnmellor/push-api/commit/b05231cce0f3415992d2dfeec290a6d174d0ef29) for now so that it could be swapped out for such a generic object in future. Does that sound reasonable? @beverloo's [not convinced](https://github.com/w3c/push-api/pull/88#discussion_r20810189) that it's worth it.