Brought port param back.

Turns out, it's valuable for the client to be able to start queuing the messages right away. Example (by darin@chromium.org):

[...] imagine you are modeling XHR on top of this. Allocating the XMLHttpRequest object is not asynchronous. The asynchronous step is the .send() method. Without a port in hand to send commands to, a XMLHttpRequest object would need to buffer the commands until the port is available [...]