Ensure dispose is always called on looper thread

The InputEventReceiver::dispose should only be called on the looper
thread. This is already documented in the class, but not enforce.

Enforce this here, since this will become critical in subsequent patches
where we are relying on the ability to consume upon dispose.

Bug: 376713684
Test: atest InputEventSenderAndReceiverTest
Flag: EXEMPT refactor
Change-Id: Ib2bb401f32bc2f8521c53920d6e47825c9301603
2 files changed