RandR start...
Get default screen info

When first loading, get the default screen for the display.  This will
include the root window, and will be need when querying XRandR.
Start of initial XRandR support

WIP:  No where near complete yet.  Doesn't even handle structures properly,
etc.  This is broken for now.
Fix RandR detection
Improve single-screen error message
Add .gitignore to exclude files

Don't allow files like .o, .a or .log files to be potentially tracked by
git.
WIP
Define a queue of monitors

This defines monitors as a queue and defines routines for finding them,
etc., based on parameters.
Add/update RANDR information

When looking for outputs, either add the output anew, or update its
information if it has changed.

TODO:  React to events on changing; i,e., shifting windows on screen, etc.
Listen on RandR events

Now that we know RandR is present, ensure we listen on specific events so
that we can react to screen changes, etc.
Temp
Provide basic desktop support

This adds some APIs for creating desktops, as well as naming them, and then
makes provisions for desktops to belong per-monitor.

Currently the hard-coded limit is ten per monitor.  This will change when
the config file support is written.
Merge branch 'ta/randr'
Merge branch 'ta/desktops'