Add bindings for VisualInfo functions

These commits add new types and bindings for the functions documented in `man 3 XVisualInfo`.

New types:
* `VisualInfo` (with `Storable` instance)
* `VisualInfoMask`

New constants:
* `VisualInfoMask` enumeration constants
* An `emptyVisualInfo` constant to simplify the creation of `VisualInfo` instances in user code

New functions:
* `getVisualInfo` (`XGetVisualInfo()`)
* `matchVisualInfo` (`XMatchVisualInfo()`)

Other changes:
* `visualIDFromVisual` was (unintentionally?) commented out in fa9f12634673912aa0300d5062f99d6f428b50b9 and is re-enabled