Use simpler and more reliable Jacobi eigenvalue algorithm to compute SVD.

This doesn't block the merge but...

I checked the code:  glm::atan(y, x) calls std::atan2(y, x) under the hood.

I tested std::atan2() and found that it handles the (sjj - sii) = 0 case correctly.  So the early check for (sii == sjj) is redundant (and it is probably a very rare case so skipping it would a minor optimization).