Event and EventTarget spec compliance improvements
Several improvements bring the Workers runtime's Event, EventTarget, and related APIs closer to their web platform specifications.
User-constructed event subclasses (new MessageEvent(...), new CustomEvent(...), new ErrorEvent(...), new CloseEvent(...)) now correctly report isTrusted as false. Previously, these incorrectly reported isTrusted as true.
Event handler attributes such as onmessage and onabort now fire in their registration order relative to addEventListener() calls, matching browser behavior. Previously, on<type> handlers always fired before any addEventListener() listeners regardless of when they were assigned.
new MessageEvent(type) now works without providing an init object — data defaults to null per spec. The MessageEventInit dictionary also now supports the full spec surface: origin, lastEventId, source, and ports, in addition to data.
The CloseEventInit and ErrorEventInit dictionaries now accept the standard EventInit members bubbles, cancelable, and composed.
Adding a message event listener to a MessagePort via addEventListener("message", ...) now starts the port, matching browser behavior. Previously, only assigning onmessage would start the port.