Service and KitchenSink logic to read the kernel's input event queues

This patch provides a native service that can manually be built, installed to a device, and launched, e.g.

sh# /system/bin/com.android.car.keventreader /dev/input/event*

The service will monitor the files provided as input (expecting them to be kernel input queues in the format
described at, e.g. https://github.com/torvalds/linux/blob/master/include/uapi/linux/input.h), and generate
events upon reading EV_KEY events from each such file.

The patch also includes a KitchenSink hook to talk to the native service and receive key events from it.

Bug: 78258802
Test: manual on Mojave
Change-Id: If7f2f1f72e4dc6a26cd9d32b31e90e494d55650b
diff --git a/tests/EmbeddedKitchenSinkApp/Android.mk b/tests/EmbeddedKitchenSinkApp/Android.mk
index c541b76..71adf6b 100644
--- a/tests/EmbeddedKitchenSinkApp/Android.mk
+++ b/tests/EmbeddedKitchenSinkApp/Android.mk
@@ -47,7 +47,8 @@
 LOCAL_STATIC_JAVA_LIBRARIES += \
     android.hidl.base-V1.0-java \
     android.hardware.automotive.vehicle-V2.0-java \
-    vehicle-hal-support-lib
+    vehicle-hal-support-lib \
+    com.android.car.keventreader-client
 
 include packages/services/Car/car-support-lib/car-support.mk