Nanomaterials Enabled Dye-sensitized Solar Cells