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.
As a holdover from older code, yes, but ... I'll just fix all this now.

What better time to add comments everywhere than when finishing up a massive refactor that modifies everything anyway.

:coffee: