roomStack: Display error message for a given room if we fail to join it.
If we attempt to join a room but fail to do so we need to have some error handling in place. The error handling should enable the user to retry joining the room again later.
The attached mockup shows a GtkInfoBar containing the error message along with a "Retry" button. The GtkInfoBar is only shown for rooms that we failed to join.
The error should explain why joining the room failed and there can be several reasons, the most interesting being:
Error.CHANNEL_FULL The channel is full.
Error.CHANNEL_BANNED You have been banned from the room.
Error.CHANNEL_INVITE_ONLY The channel is invite-only
Error.CHANNEL_KICKED You've been kicked from a channel.
As you can see in the Error class, there are more errors but they are too technical and could probably just go behind a generic "Polari encountered an error while attempting to join this room."