Correctly Set Primary Pointer in TouchState

Previously, the primary pointer was always set to the
most recent pointer down. That is not the expected behavior,
as the primary pointer is meant to be the pointer that has
been down the longest. This change fixes this so that when a
new pointer goes down, the primary pointer is only changed if
it is the start of a new pressed gesture.

Test: Manual
Steps:
1. Run `adb shell setprop log.tag.TouchExplorer DEBUG` to
   enable TouchExplorer Logs. Restart your device.
2. Install a 3P A11y Service that has Touch Exploration Enabled.
3. Now run `adb logcat | grep "ReceivedPointerTracker”`.
4. Place multiple fingers on the screen and then lift the first one.
   Note that the `Primary Pointer` is set to the pointer
   that has been there the longest (not the most recent).

Change-Id: Ie05f0aa3da90250327d56f08a347231a4e743b2c
1 file changed