XClipboardInterface retains a copy of latest clip
Remove temp clip-get gesture
Factor 3 instances of command calls into 1 func
Gestures, hotkeys, and extra mouse button commands.
Added .GetCStr() method to XClipboardInterface
Crowbarred clipboard sync into InvokeCommand
The special command value SYNC_CLIPBOARD causes the server to send host clipboard content to the client (rather than execute with system()).
Although the server receives notification of the client's clipboard sync settings, it always sends content; relies on client to ignore or accept as appropriate.
So, in lieue of "listening" for clipboard changes or intermittently polling clipboard state, this leaves it up to the client user to control when to pull clipboard content from the host. The SYNC_CLIPBOARD command can be defined for any command in mmserver.conf: keyboard hotkeys, mouse hotkeys, or gestures.
Only text clipboard content is supported.
There is a not-very-large untested upper limit on the length of strings that can be returned (mainly do to reuse of derpy arbitrary 'm[1024]' packet string creation)
Mention SYNC_CLIPBOARD special command in config template