Support pointer capture in InputReader

When pointer capture is enabled, the pointer icon is hidden,
the pointer location is not changing, and CursorInputMapper
generates "captured" events with relative offsets instead of
absolute positions.

Captured events have their source set to a newly introduced
SOURCE_MOUSE_RELATIVE (of SOURCE_CLASS_TRACKBALL).

Test: InputReader_test --gtest_filter=
    CursorInputMapperTest.Process_PointerCapture

Bug: 30897034
Change-Id: Id30cb8e7edac56ab813e22a834cc44ab263d1003
5 files changed