Add PCLContextItem and PCLContextImageItem classes

PCLContextItem is a PCL specialization of vtkContextItem for basic shapes
painting.
PCLContextImageItem is the vtkContextItem specialization that holds a
vtkImageData to be painted.
Fix the overlay issue in ImageViewer by using PCLContextItem.

ImageViewer used to employ PCLImageSourceCanvas2D to draw shapes on
images which doesn't preserve the image opacity, switching to
PCLContextItem fixes this issue.
While there, contract implementation of cases where r,g,b are
specified and not.
Put EIGEN_ALIGN16 after 'union' keyword

The EIGEN_ALIGN16 macro preceded the union keyword in the code, gcc 4.8 however requires it to follow, as stated for example by this warning:
[...]/point_types.hpp:813:5: note: in expansion of macro ‘PCL_ADD_POINT4D’
[...]/point_types.hpp:124:9: note: attribute for ‘union tas::lidar::Point::<anonymous>’ must follow the ‘union’ keyword"
Merge pull request #55 from hannometer/patch-1

Put EIGEN_ALIGN16 after 'union' keyword
Merge pull request #54 from nizar-sallem/image_viewer_fix_overlay

Image viewer fix overlay