Handle ANR in a separate thread

So the ActivityManager and InputDispatcher thread won't be delayed,
e.g. process next broadcast, input event.

The thread handles ANR sequentially and is only alive if there is ANR.
If system is very slow to handle ANR which has delayed over 1 minute,
only the traces of no response process will be dumped to reduce load.

Bug: 143573504
Test: atest FrameworksServicesTests:AnrHelperTest
            FrameworksServicesTests:ProcessRecordTests
            CtsAppTestCases:ActivityManagerTest#testAppNotResponding

Change-Id: I892ea60665f072bf7673f7af96f5f1a734aa540c
8 files changed