Support multiple X selection types

Generalize the selection handling system, adding the ability to get and
set the clipboard selection instead of just the primary selection. The
changes also open up the ability to use the secondary selection, but
that one is pretty much never used.

Note that this changes the functionality of the exported
symbol *X-SELECTION* by turning it into a property list.
Clean up selection support
Merge pull request #112 from jorams/clipboard-selection

Support multiple X selection types