tinyalsa: add support for tinyalsa pcm plugins

Update the pcm framework to support plugins. Resolve the pcm device node
to be either kernel device or virtual device and setup function pointers
accordingly. Implement framework functionality for pcm plugin for ease
of plugin development.

Bug: 166482201
Test: audio smoke tests

CRs-Fixed: 2563258
Change-Id: I47c8fea4fe20864c7bba2b13377874be96cb2706
Merged-In: I47c8fea4fe20864c7bba2b13377874be96cb2706
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit d407ef86493217e7874c3d826d83aae0cd570ce5)
8 files changed