Impurity diffusion in NiO grain boundaries