playsink: refactor and clean up code
No functionality is added or changed in this MR - rather we are simplifying the logic and reducing the size of the playsink file by removing some dead code.
@ndufresne I will do this simple refactor first, and then refactor the blocking probes in another MR.
Edited by Aaron Boxer