Design and simulation of a high-performance CH3NH3Pb(I1–xClx)3-based perovskite solar cell using a CeOx electron transport layer and NiO hole transport layer