Waits for windowMagnification connection set when requesting enableWindowMagnification

It fixes the low quality CTS test, AccessibilityMagnificationTest.
And this fix also makes enableWindowMagnification() a robust API
that can be called frequently when the connection is toggled.

CL comments and discussion are at ag/16785609

Root cause:
1. when the test cases run iteratively, the test a11y service would be
enabled and disabled repeatedly so the windowMagnification
connection would also be connected and disconnected repeatedly.
And when the test a11y service is enabled in a short time, the
connection may not be ready to be established.

Solution:
1. So we add a wait lock and notify to unclock after the connection
is established. And prevent the duplicated connection request.

Bug: 2147470987
Test: atest AccessibilityMagnificationTest --iterations,
    atest com.android.server.accessibility
Change-Id: I6ec22e66796aaf565c10b0fedcd4de359ce5fc7b
9 files changed