Calculating gizmo translations based on 2D screen coords.
Prior to this change, the code was using the distance between
two 3D-picked coordinates to calculate a movement vector. This
is obviously leading to strange results when the mouse movement
covers parts with background objects and parts without any
background (picking returns far plane). Visually this results in
a "jumping" impression during translation.
The fix calculates a movement vector on a fixed plane that is parallel
to the screen/camera. This leads to smooth movements.