Disallow same callback more than once for a message in SimpleMessageBus

There are many bugs in the multiplayer menu just waiting to be
triggered. The problem is that windows subscribe to messages when they
are showed, but unsubscribe only when they are closed (not hidden). This
can lead to multiple registrations of the same callback.