Added threading library to link dependencies.

Since the GLX backend now uses explicit pthread calls, linking needs to
be explicit as well.
Restored explicit linking for threading test.
Add glfwConfig module.

This module allows cmake projects to find glfw with FIND_PACKAGE.
Merge pull request #18 from belkiss/master

Added a glfwConfig module.
Reintroduced manual framebuffer config selection.

The default behavior of WGL, EGL and GLX is to choose a config that has
/at least/ the specified number of bits, whereas the GLFW 2 behavior was
to choose the closest match with very few hard constraints.  Moving the
responsibility of finding the supported minimum values to the client was
problematic, as there's no way to enumerate supported configurations,
forcing the client to perform multiple (and slow) window/context
creation attempts.  Not even the currently set defaults (24-bit color
and depth, 8-bit stencil) is universally supported, as bug reports show.
CMake config file cleanup.
Ensured that count out parameter is always set.
Comment fixes.
Documented that out parameters always get set.
Added section on Ubuntu dependencies.
Made CMake file require XInput.
Fixed window position for EWMH full screen.

Also added flushing after setting window position and size.
Improved reopen test input.
Fixed broken test for broken RandR gamma.
Grammar fix.
Added refresh rate calculation to tearing test.
Dropped fsfocus test.
Updated gitignore file.
Added XInput dependency to pkgconfig file.
Formatting.