Differentiable Programming of Reaction-Diffusion Patterns