API : changed how to deal with importing ND data

 - FrameSource -> returns ND data
 - ImageSource -> return 2D data (sub-class of FrameSource)
 - VolumeSource -> return 3D data (sub-class of FrameSource)
 - SpectrumSource -> (likely to change) return ND array of spectrum data
ENH : draft of tiff source handler