added cursor hints for off-screen cursors
switched cursor updates to a slot instead of a timer