Implement autodetect projectors button

I had to add a method to update the widgets based on the values of the
saved parameters, because the slots for the LineEdits weren't being
called when I used setText on each. I could manually call the slots but
that kind of takes away the point of them being slots. I think it's about
time to do away with the internal variables, and maintain the state with
the widgets only.
Refactor SettingsModule

The settings module now uses the widgets to hold settings values instead
of private members. This greatly reduces the amount of code simply synch-
ronizing these separate values. Part of doing all of this required making
a nested class for handling projector settings. I used a QStackedWidget
like in the main window, but this time I'm switching out pages of projector
settings widgets. I also changed a few stylistic problems. Overall, a very
needed change.
Use a signal for when the projector count changes
Remove some debug output
Omit main desktop from projector autodetection
Add methods for creating and destroying the light projector windows

They don't do anything but output debug messages yet.
Create and show the light windows

They're currently fixed on the main screen. This will eventually change
to use the projector settings.
Add light window class

This class is responsible for projecting light patterns onto the scene.
Each instance of this class will be its own frameless window, drawn over
each projector.
Set frameless window hint for light windows in constructor

For some reason it doesn't work the way I had it for QGLWidgets. This,
however, does the trick.
Implement light window

It acts similarily to the VisWidget, except it doesn't scale the projected
image, assuming it'll be sized correctly. I have yet to test it.
Project light patterns with light windows, implement drawing masks
Set minimum raster position to 0

From experiments I found that negative values for the raster position
(which occurred since my windows were too small for pattern image width)
caused it to not render at all. Setting the minimum to zero at least
rendered each pattern, even if they're off center. This shouldn't be a
problem in the future, as long as I find out how to set up the max levels
correctly.
Add a position for each projector

This determines where the projector window will be created during
structured light capture. The autodetect button will automatically
fill this with the value gained from the list of display devices for
this computer, according to Qt.
Correctly position and size light windows
Hide the cursor for the light windows
Implement saving structured light capture
Exclude all test* folders from the repository
Store saved photos into structured light object

This technically doesn't store anything in the structured light object.
It only exists so that when the structured light object is saved, it
knows to check for existing images and save their filenames.
Increment pattern number before taking the next photo

This small bug caused only numPatterns-1 patterns to be saved!
Rewrite picture taking loop ending conditions