Clean up A2DP State Machine

* Cleaned up existing A2dpStateMachine class and added extra logs
* Isolated JNI native interface in a separate class A2dpNativeInterface
  so it is easier to mock it
* Moved StackEvent related info to a separate class A2dpStackEvent
* Added unit tests for the A2DP State Machine

Bug: 68993365
Test: Unit tests added; Manual: A2DP connect/disconnect/streaming
Change-Id: I6e3441fd4f453f5a200e661461feb407d4d2150e
6 files changed