Load the camera inverse transfer function from file
Map camera target intensity to radiance before applying pixel weights
Remove calibration images and replace with prjInvTrans

This is a rather large commit that contains many changes to the
appearance editing framework. The most notable change is that the
calibration images are being replaced by the projector inverse
transfer function combined with albedo images. The albedo for each
pixel is defined in radiance space, which is obtained through
taking a picture of the scene at the brightest intensity and then
converting each pixel's camera-space intensity into radiance space.
Using these albedo images combined with the projector inverse
transfer functions should provide all the information that the
calibration images were used for.

Thus the changes in this commmit include replacing the calibration
capture process to that of capturing albedo images and converting
them. I also added methods to load the projector inverse transfer
functions from files, and removed a few options from the calibration
options menu that might not make as much sense with this new method.
Yet to be changed are the calibration object's read and write methods,
as well as the method to generate projector compensation images.
Change CalibData's read and write methods to forget calib imgs
Implement converting an image to radiance space
Implement using inverse transfer functions for compensation imgs
Fix an index out of bounds and release of target image
Allow generating error images of single-projector captures

The capture images are still compared with the target image. The
usefulness here is that we can see how close a single projector can
get to the target.
Add camera access class

The camera access class will replace the camera interface class,
providing more functionality and ease of use. The best part about
this class will be the ability to simply create it locally, pass
it an array of picture filenames and settings, and then wait for
it to complete taking them all.
Implement most of the CameraAccess class

The biggest thing left to do here is to implement setting up for
and taking the pictures.
Implement taking a picture and timer events for CameraAccess
Change intensity to color in the light windows and modules
Add accessors and modifiers to CameraAccess

Also added is the ability to opt out of changing the projector
settings for any given picture. Currently for these pictures the
projector will stay how it was for the last picture instead of
reverting to how it was before picture taking was started.
Remove all references to the old camera interface
Implement camera access changes in RC3D module

This involved removing several methods that when chained together
took the required images. Now all images are taken at once from
the module's perspective, and there only needs to be two methods
to deal with these pictures.
Replace albedo capture with new camera access pattern

Another possible bug fix in this commit, although it's only
theoretical: if one chains together several rounds of captures
using different CameraAccess objects, there could be a problem
if the new object is created in a slot that's executed by the
first CameraAccess's picturesDone signal. The first CameraAccess
hasn't killed the camProc yet, which is still connected to the
camera, while the second CameraAccess tries to access the camera,
which should fail since I think the EDSDK prevents multiple
processes from accessing the same camera simultaneously. I flipped
the order of two statements in the finish() method so that the
camProc is guaranteed to die before emitting the picturesDone
signal, so hopefully there won't be any problems in the future.
Replace appearance edited capture with new camera access
Change LaserModule's camera interface to the new one
Fix a bunch of bugs with the new camera interface
Add a shader to the StaticModule