Make cleaner setCoords and geometry code

@knagax This PR is mainly about code clean up.
3 methods have been shrunk. Code duplication has been removed and setCoords mad ligther.
Just 4 corners are calculated using the transformation with vpt the other are find "interpolating"
mtr before was a copy of mt , and then made correct in setCornerCoords, now is calculated correct and _setCornerCoords is made simpler.

`shouldTransform` is better, to indicate that it's boolean