Solar fuel generation by graphitic carbon nitride composites