A critical review on graphitic carbon nitride (g-C3N4)-based materials: Preparation, modification and environmental application