Complete the round-robin handling of the call offer and answer messages to get SDPs to both ends of the call

This PR completes the round-robin of handling messages such that we will now get complete peer connections with remote session descriptions at both ends of the call.

Specifically:
- In models.js, we fix some bad calls to peer connection functions.
- In worker.js, we add new serverHandlers for web socket messages received from the server, such that we can either handle them in the worker, or pass them through to all connected ports.
- In the serverHandlers we handle both the incoming_call and call_accepted messages.
- We record port information for chat sessions, so that the port is recorded and the worker can continue to send messages relevant to that chat session to the chat window.
- We handle chat-window-ready for both incoming and outgoing call types.
- Appropriate additional and updated tests for all of the above.