Viologen-Based Electrochromic Materials: From Small Molecules, Polymers and Composites to Their Applications