emulator: Add Codec Negotiation to emulator

This commits adds Codec Negotiation to the emulator's list of features.
emulator: Add listener mechanism to emulator

This commit adds a mechanism to the emulator that allows to register
callbacks to be called when certain events happens.
emulator: Emit event when the emulator is removed
emulator: Emit event when the SLC is established
hfp_ag: Store hfp connection info into local modem
hfp_ag: Clean connection info when disconnect
hfp_ag: Add Audio Card to connection info
hfp_ag: Set Audio Card's local and remote address
hfp_ag: Add a card driver for HFP 1.6

This is just the skeleton of a Handsfree Audio Card for the AG side of
HFP 1.6.
hfp_ag: Extract Version from fd dictionary
hfp_ag: Pass version to card registration
hfp_ag: Pass connection info to card registration
hfp_ag: Handle AT+BAC command from HF

This commit parses and stores the supported codecs from HF.
hfp_ag: Keep information about AT+BAC calls
hfp_ag: Handle AT+BCC command from HF
hfp_ag: Handle emulator's removed event
hfp_ag: Handle emulator's slc established event