Ag and CdS nanoparticles co-sensitized TiO2 nanotubes for enhancing visible photoelectrochemical performance