Dye-sensitized nanoparticles for heterogeneous photocatalysis: Cases studies with TiO2, ZnO, fullerene and graphene for water purification