Added edge-pushing with a tolerence setting. This includes cursor locking
and visiblity toggling.