S-, N- and C-doped ZnO as semiconductor photocatalysts: A review