Camera detection is now part of the 'main.cpp' source file.

This will allow the code to detect and handle multiple cameras if needed
in future extensions.
Refactored the camera class model.

The 'Camera' class is now an abstract class which serves as an interface
for camera functionalities. This will allow to use different camera
models in future designs.
Removed the camera 'init' function.

Camera initialization is now performed directly in the constructor.
Created the 'UEye_Exception' exception class.

This class represents errors encountered during the use of uEye cameras.
The UEye_Camera class throws this kind of exception whenever an abnormal
situation is encountered.
The uEye camera class now throws uEye exceptions when needed.
Added configuration functions to the Camera abstract class.

The interface now provides functions to capture a single image, to
modify the framerate and to set the image geometrical parameters.

The latter was implemented for the uEye camera.
Created the 'utilities' files.

The 'utilities.hpp' and 'utilities.cpp' define and implement helper
functions for various actions (currently string and int concatenation).
Camera class: added the maxWidth and maxHeight private members.

These are set with the maximum height and maximum width (in pixels) of
the camera sensor.
The uEye camera initialization now retrieves sensor informations.

This feature had been removed in a previous code cleaning.

Private members in the Camera interface class are now declared as
protected instead of private to access them in the UEye_Camera class.
Added the 'Image' class to represent images taken by the camera.

This class will allocate memory for the image acquisition and provide
functions to save the image to persistent memory.
Implemented the Image class constructor and destructor.
Added vim .swp files to the gitignore list.
Modified the Image class 2D memory buffer by a 1D memory array.

This simplifies the allocation and should use a continuous range of
memory addresses, required to lock the memory in RAM as required in the
uEye documentation.
The allocated image memory is now locked in RAM.

This ensures that the image memory won't get swapped out during the
image acquisition.
Image class: Added the 'getImageBuffer' method.

This method returns the address of the image memory buffer to modify the
image during acquisition.
Renamed the 'setImageSize' method to 'setAreaOfInterest'.

The previous name was creating confusion with the Image class.
The camera code now references Image objects instead of int buffers.
Small doc fix in the Camera class.
The UEye_Exception constructor now takes the camera ID as a parameter.
Image class: added the const indicator to the 'getImageBuffer' method.
UEye_Camera: the color mode is now set as 8-bit monochromatic.