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.
Merge pull request #54 from nizar-sallem/image_viewer_fix_overlay

Image viewer fix overlay