GUAC-825: Screen sharing support for RDP

These changes migrate the RDP support to the API introduced in GUAC-844, allowing RDP sessions to be shared across Guacamole connections.

Beware that these changes redo several changes on master, as things like Swedish keyboard and Display Update support have been merged in as development progressed.

Needless to say, migrating the entire RDP support to a new API is a large change.
Yeah, that's due to things like [GUAC-845](https://glyptodon.org/jira/browse/GUAC-845) and [GUAC-846](https://glyptodon.org/jira/browse/GUAC-846), which generically restore support for audio and file streaming.

How exactly things like files will be streamed is not yet solved in the new API, and it's unrealistic to implement them all at once, so they're postponed. The current mechanism for sharing is to broadcast instructions to all connected users, but that won't work for most use cases when it comes to file transfer. You don't necessarily want all sharing users to receive copies of all files you download.