Refactor AudioTrack callback to Interface

Part 1 of a refactor of AudioTrack callback to increase type safety.
 - Replace callback_t with IAudioTrackCallback listener interface for
seperate notifications for each event type. Retain legacy_callback_t
 - Duplicate set/constructor methods to provide ABI stability
 - LegacyCallbackWrapper to wrap legacy_callback_t consuming methods
 - Retain wp<IAudioTrackCallback> to avoid ownership cycles and provide
 clear ownership semantics
 - Take ownership of LegacyCallbackWrapper if necessary

Bug: 199156212
Test: Compiles
Change-Id: Id089da86a617cb6273ea1d4efeaf2c854df10ede
3 files changed