Dye Sensitized Solar Cells: Basics to Applications