Dispose per-display input channel explicilty when removing display

Also simplify the initialization and cleanup of PointerEventDispatcher
because the null condition should never happen.

Bug: 126141550
Test: atest DisplayContentTests
Test: manual - Create virtual display and remove it many times. Observe
      no "Input channel object ... was finalized without being disposed!"
      in device log. And "dumpsys input" don't show MonitoringChannels
      in the removed display.

Change-Id: Id768a1a77169a91fd0762e166f49e15f37668000
3 files changed