Learning Iterative Reasoning through Energy Diffusion