Constrained Sampling for Language Models Should Be Easy: An MCMC Perspective