Fix uniform scaling of non-square CanvasItem nodes
Created by: akien-mga
Fixes #3224 (closed). I chose the longest side of the original node (width vs height) as the "guiding direction" to handle the ever changing drag_vector and avoid issues when a component changes sign.