Fixed bug causing incorrect marker position

1. Fixed bug causing incorrect marker position when transform is changed
by converting "mouseHitPos" to local coordinates and then changing the
"marker" to world coordinates.
2. Used "HandleUtility.GUIPointToWorldRay" instead of
"Camera.current.ScreenPointToRay" for more accurate result.
3. Added a Toggle for switching edit mode.