Adsorption and diffusion of water on graphene from first principles