- fix bugs
- add tab change watcher (focusin: play, focusout:pause)