This patch adds support for aptX codec. Since this is proprietary codec
it requires to obtain license form vendor (CSR) in order to use it.
Also shared library which provices encoder implementation is required
since this implementation only wraps it into audio HAL.
This patch adds optional load/unload methods for codec which can be
used to initialize some static data for codec, e.g. load shared library
which provides encoder. Unlike init/cleanup which are called on stream
open/close these methods are called when audio device is opened/closed
thus most likely only once.
Codecs which are loaded properly (or do not have load callback) are
added to separate queue and used later to register endpoints.
Codec abstraction in hal-audio is now good enough to allow splitting
code into core and codec implementation easily so this patch moves
SBC codec code into separate file and provides interface required for
other codecs to be implemented.