ZnO nanotube-based dye-sensitized solar cell and its application in self-powered devices