Engineering graphitic carbon nitride (g-C3N4) for catalytic reduction of CO2 to fuels and chemicals: strategy and mechanism