DiffPD: Differentiable Projective Dynamics