Effect of boron and phosphorus codoping on the electronic and optical properties of graphitic carbon nitride monolayers: First-principle simulations