Make IAudioRecord pure (stable) AIDL

The MicrophoneInfo type has manual parceling. Converted to AIDL.
This required exposing a private method from the AidlConversion module
as well as making some changes in build files.

As part of the process, also modernized MicrophoneInfo to use standard
library types instead of Vector and String16.

Another thing that's happening here is that av-headers is now defined
as a standard Soong module, so that we can list its dependencies.

Test: Audio-related CTS tests from CtsMediaTestCases
Change-Id: I6d50d411c59987b7d3561f97ee94baa1b306e21d
15 files changed