Initial work on client API.

Since webkit doesn't currently support nested workers, and firefox
doesn't currently support shared workers, the idea is to pass a
MessageChannel port through the main window to the desired SharedWorker.
This isn't working yet but I needed to take a break.