Requiring a sender to login explicitly with a device-specific ID.

The cast sender IDs change if the user is e.g. changing the view and
reconnecting to the cast device. This leads to ghost players if we use
the sender ID for our player management. This also adds support of
specifying a custom name for the player.