Initial project structure

Initial project structure with autoconf
New classes

New classes were added to add exception handling and the yuv format.
The YUV format is implemented in three classes Frame, Frame422 and Frame420.
Some fixes and tested the classes
Fixes segmentation fault.

The dup method in the block class had an error that instead of copying the buffer it returned the address of this.
Minor fixes ported to c++

Fixes a some problems with the Frame::parse method. Namely it has been renamed to create_from_file and returns a heap object, this changed allows us to use the polymorphic behaviour not achieve with the previous method because of the static_cast.

All C code was ported to C++, namely the reading of the file.
Lots of fixes.

Fixes memory leaks when moving objects through move operator assigment.
Implementation of the Video class (by Luis Neves).
Initial documentation of some classes.
Minor fixes and new comments

With this commit new methods were implemented in the block class, namely the operator overload of operator== and operator=(const char*). The former allows the comparison of two blocks while the later allows the copying a chunk of bytes into the block, note that the method does not check for bounds, instead it trust the caller makes sure the array is at least the size of the block.
In the video class were some fixes to the way we read the frames although is still not fully working for all types. Also we now expose a new method display that shows the whole video in a window. Another method added with this commit is one to allow to reset the position of the stream so that we can begin processing the video from the start.

The frame442 convert method also received some love but its not tested.
Fixes to the way we read the video files

	* Fixes to the way the video is read.
	* New methods added to the block class and some post condition to check the validity of some methos.
	* Added new comments
Implements Frame420

Imported implementation of the Frame420.
Adds a new class Frame444

The new class is to better separate things, since a frame can also be a RGB frame.
The yuvShow program shows a video in any format YUV444, YUV422 and YUV420
Initial work on the yuvCopy.
Added yuvComp.cc
-still needs to be runnable and some checks
Added two methods needed for yuvComp
Using autoconf to generate a librarie with classes and fixes

Revert the changes made to the Frame class in the last commmit because they introduced regressions.
Using autoconf, we make a library libcav1.0.la using the core classes while the too programs yuvShow and yuvComp uses the library.
Some fixes to the Block class.
Some fixes and new stuff added.

	* First work to try to read video from the webcam.
	* Added FrameRGB to handle the frame with the RGB values.
	* Added initial doxygen configuration file, although some comments needs to be checked.
Adding more methods to the block class.

	* The new addition to the block class if the ability to work with sub blocks.
	* Initial work on the yuvCopy program by copying frame by frame.
	* Fixes a small issue in the video class, the newline after the header was not read in the header section, this bug used to put a caracter \n in the first position of the y component.
Fixes bug after the introduction of sub blocks.

	* Not all the methods were aware of the existence of a sub block and would free the memory.
Fixes read from camera and files in rgb.

	* Implements support to play RGB videos and read from camera.
Adds video effects

	* Adds 2 new methods to the frame class to invert the colors and set to black and white.
	* Implementation of the videoEffects program
	* Video also reads from camera and rgb files.
VideoEffects fully implemented (By Luis)

Import changes from luis repository about videoEffects.
Fixes visibility of convert and initial yuvConvert