local mouse refinement

The local mouse is allowed to temporarily move out of range of the
player until the physical mouse movement has stopped, at which point
local mouse re-sets it's position to be at it's maximum legal distance
from the player, but still on the same vector between player in out of
bounds position. Allows for much smoother movement of the crosshair
around the player, and allows fast direction changes as local mouse is
kept near player when not actively being dragged.