Fix dispatcher logic of handling same key pressed and released from different
devices.

KeyEvent.getRepeatCount should reports different sequence for
buttons from different controllers.
Reset KeyEvent repeatCount for different device and keep repeating when
key up from one device.
When press and hold on a key from one device, press and
hold same key from another device should keep the repeating and start
over repeatCount from 1. The previous device is marked as stale.
When key is released from stale device, as the current device key is
still on hold, do not stop the key repeating by the key up event from
stale device id.

Bug: 159164168
Test: atest inputflinger_tests
Change-Id: I16e4699cc74a5f08e7fbc0b166930460af843e2d
2 files changed