Pass latency information from app to input

Once the app learns about the frame's timeline, it will tell
inputdispatcher about it. We are adding a new callback similar to
'finishInputEvent', called 'reportLatencyInfo'.

This will tell inputdispatcher about the queue time and the present time
of each frame that was caused by input.

InputDispatcher will then be able to reconstruct the input event
timeline and report the end-to-end latency metrics.

In a separate CL, we will add LatencyTracker, which will eventually
receive this data.

Using the event id and the provided queue time and present time, we will
be able to reconstruct the end-to-end latency inside LatencyTracker.

Bug: 167947340
Test: atest inputflinger_tests libinput_tests
Change-Id: I181532a01b34eecd186bc3c74db289fc59c5955c
7 files changed