Implement most ICCCM rules for selection handling.

ICCCM mandates the use of real timestamps to interact with the
selection, to rule out race conditions if the clients are run at
different speeds. I have implemented the low hanging fruit, putting the
timestamps into text selection. Also, ICCCM mandates a check for whether
XSetSelectionOwner() worked. Not sure my version is correct, though.
This commit is contained in:
Internal Server Error - Gitea: Git with a cup of tea and freedom
500 Internal Server Error

Gitea Version: 1.28.0+dev-505-g31b4d79a84