window: Check if to activate added contact

When a newly added contact is the only visible one in the list, activate
it.
window: Use a separate GtkListBox for requests

This allows to use transitions for changing between contacts and
requests, and should make it easier to keep the active contact when
changing between contacts and requests.
window: Use 'preferred-name' in the header bar

So we no longer need to set the Tox ID manually there, it the contact
has no name yet.
window: Fix Accept and Discard buttons

They must be GtkButtons, not GtkMenuButtons.