Molecular engineering of push-pull porphyrin dyes for highly efficient dye-sensitized solar cells: the role of benzene spacers.