hal: Support for FLAC 24 bit format in offload path

- Add flac in supported codecs list
- Set FLAC codec specific parameters
- Set fragment size based on bit width and sampling rate
  for flac.
- Configure backend to 24/16 bit based on the current
  usecases running

Change-Id: If013078e277fd3053fba6489345803f8f58bd86d
Audio: Fix for sound card status overwrite issue

 - Sound card status is getting over written to OFFLINE
   by HAL internally on continuous SSR
 - Fix by returning different error code for snd card offline
   update in HAL internally instead of ENETRESET

Change-Id: I98a34d8b667dff045a1e99d18307376579ac4ebc
hal: add support for pcm_ioctl() api

- Tinyalsa doesn't expose an api to call
  ioctls exposed by the audio drivers.
- Add pcm_ioctl() api to support pcm ioctl.

Change-Id: I448252e8d3347257a73c56bc8ed341abc2dd2dab
policy: Add support for multiple instances of offload playback

Add support for multiple offload playback instances

Change-Id: Icab3c7d6e89121a7aa23744729a634d8e402fabf
hal: Add multiple offload support for msm8974

 * msm8974 can also benefit from multiple tunnel support, but
   is limited to four devices. This allows for reliable gapless
   playback and other use cases.

Change-Id: Ie0698cc0d600a23df0799482a79181f248a001e7