Update cursor drag to snap the finger position to the handle + add slop

When dragging the cursor...

1) If the touch moves slightly above or below the current line, we keep
moving the cursor along the same line without jumping up and down across
lines.

2) When the drag motion moves downward, jumping to the lower line is
delayed to allow the user's touch to snap to the cursor's handle. Once
the touch is over the handle, we position the cursor above the user's
actual touch (offset such that the finger remains over the handle rather
than on top of the cursor vertical bar). This improves the visibility of
the cursor and the text underneath.

Bug: 148116165
Test: Manually and ran automated tests
  atest FrameworksCoreTests:EditorCursorDragTest
  atest FrameworksCoreTests:TextViewActivityTest
  atest FrameworksCoreTests:TextViewActivityMouseTest
Change-Id: I88432cbc5a7f1a47cd35866f2001d51d3f66828b
2 files changed