Decoupling InsetsAnimationControlImpl and the client

Currently InsetsAnimationControlImpl is heavily rely on
InsetsSourceConsumer and InsetsController on the client side, which
caused difficulties to the server to re-use the code. Decoupling it to
make it re-usable.

This patch made the following changes:
1. Introduce a callback interface to let InsetsAnimationControlImpl talk
   to InsetsController.
2. Use InsetsSourceControl instead of InsetsSourceConsumer in the
   InsetsAnimationControlImpl.
3. Remove all the consumers in the InsetsAnimationControlImpl.

Test: atest InsetsAnimationControlImplTest
Test: manual test with the new insets API, it works as expected.
Test: go/wm-smoke
Test: atest FrameworksCoreTests:InsetsControllerTest

Change-Id: I30f5aa73ff31e07c0dd8d61edbb208f16c5a6775
4 files changed