rearrange invite/accept/generate buttons and flow

The top-level "Add Contact" button remains, but now it exposes a set of
three sub-buttons:

* Generate creates a code, closes the box, opens Contact Details
* Accept opens the paste-in-code box
* Scan isn't implemented yet

When the paste-in-code box is open, the other buttons are hidden, and
only "cancel" and "invite" are visible.