updates to player "local mouse" code

Re-written the local mouse code to reference the position relative to
the player between frame updates, rather than it's world position (which
happens to be close to players world position).

Also, local mouse now has bounding area around the player within which
it can move, so that it only ever needs to travel a short distance to
make the crosshair move 180 degrees.