Dynamically allocate sound channels (fixes #255)