Add idle play state

Relevant blink patches are

https://codereview.chromium.org/548223002/
https://codereview.chromium.org/555063002/

This is ready for review @shans @dstockwell 
cancel should no longer nullify the source