Synthesizing and Exploiting Perovskite Films for Desired Physical Properties: Oxides, Halides, and Chalcogenides