Add virtual input device native classes.

Add VirtualInputDevice base class and a set of subclasses for each
device type. Each virtual input device wraps a fd representing the
uinput device and a set of write...event() methods.

Most logic are moved from InputController JNI code: see ag/21294055 for
reference.

Test: atest VirtualInputTest VirtualMouseTest VirtualKeyboardTest
VirtualTouchscreenTest VirtualDpadTest

Bug: 267515782

Change-Id: Ie3a580acc890ac5af7461f012e05eb9ed3709a5f
Merged-In: Ie3a580acc890ac5af7461f012e05eb9ed3709a5f
3 files changed