A Simple Spec for Application Display/Screen Migration. 

A window capable of migration sets a property _GPE_DISPLAY_CHANGE on
itself.  Its type is STRING and it is initially set to zero length.

Changing this property to a non-empty value will signal the
application to migrate.  The property has the format "TARGET-DISPLAY
AUTH-TYPE AUTH-DATA", where TARGET-DISPLAY is the desired destination
in "host:display.screen" notation; AUTH-TYPE is the authentication
method in use (see below); and AUTH-DATA is the appropriate
authentication information.

Following successful migration, the application must reset the
_GPE_DISPLAY_CHANGE property to zero length to indicate that it is
safe to request further migrations. 

The outcome of the migration attempt is signalled by sending a
ClientMessage of type _GPE_DISPLAY_CHANGE to the original display's
root window with event mask SubstructureNotify and payload as follows:

l[0]	window handle for which status is being reported
l[1]	status code, one of:

0	success
1	unable to connect to display
2	requested screen does not exist
3	invalid authentication
4	indeterminate failure

In the RSA-SIG authentication scheme, the migrating application reads
a challenge string from the _GPE_DISPLAY_CHANGE_RSA_CHALLENGE property
on the migrated window and computes the PKCS-1 signature of the target
display name, followed by a NUL delimeter, followed by the challenge
string.  The authentication data string consists of the key ID used
for signature, followed by a space, followed by the signature text.
