Add an Accept button for incoming calls

This adds an accept button for incoming calls.

Specifically:

- creates a new CallOfferView that is displayed for incoming calls, and for now shows a single accept button (calls can be "rejected" by the X on the window itself).
- hides the non-CallOfferView views at appropriate times depending on the call state.
- Adds an "incoming" state to the call model, and saves the incoming data whilst in that state.
- Adds unit tests.