Assembly of CdS nanoparticles on boron and fluoride co-doped TiO2 nanofilm for solar energy conversion applications