worker: add ports property to MessageEvents
Add ev.ports
for spec compliancy.
Since we only emit the raw data
value, and only create the
MessageEvent
instance if there are EventTarget-style listeners,
we store the ports list temporarily on the MessagePort object itself,
so that we can look it up when we need to create the event object.