aout: hide destroy
Based on !1654 (merged), only the last 2 commits should be reviewed here.
All aout users can trigger a destroy, when releasing, if the refcount reaches 0.
This will allow having more than one aout users (stream from decoder.c), for gapless and later for multiple streams playback. Indeed, you prefer not to destroy the aout from one decoder, while used by another decoder.