Players should be constructed in idle state

Fix issues encountered
* play() should not set a start time
* cancel() should not nullify the source
This seems suspicious. Why are two ticks required after construction now?