Await video in get_video() if we are suspended.
Fix player_change to summon the butler if _suspended is changed, and
ensure that the butler's Player::Change handler is the first to be
called so that suspension is sorted out before any other
Player::Change handlers might call get_video().
This is to prevent the sequence
1. player change-pending emitted
2. hence butler suspended -> 1
3. player change-done emitted
4. first handler is something which calls get_video()
5. get_video() awaits video which will never arrive because the butler
is suspended.
Here there is a pending change-done signal to butler. Ensuring this
arrives before the handler which calls get_video() sorts it out.