TextureMapping template is now also defined for PointNormal.

The pcl::TextureMapping<PointT> template was only defined for PointXYZ, and some hardcoded types in the implementation prevented the simple instanciation for new point types.

This has been corrected, it is now also instanciated for PointNormal (which has been tested). More types could be added but were not tested.

Also, the TextureMapping<PointT>::Ptr subtype was refering to shared_ptr<PointT>, which is not the common thing in PCL. This has been modified so that it now refers to shared_ptr<TextureMapping<...>>, and a new TextureMapping<PointT>::PointPtr subtype has been added.
Please use `PCL_INSTANTIATE(TextureMapping, (pcl::PointXYZ)(pcl::PointNormal))`