don't set poster since setPoster is not support by youtube api
fire 'duration change' and 'loadeddata' events once on first play
trigger 'seeking' event when buffering.
trigger 'seemed' event when playing or pause a video
Use video progress event to fire 'timeupdate' event. It used to use manual timeupdate, the problem was that even time is not updated, it triggered 'timeupdate' event. It updated every 200-250ms in Iframe. As long as a timer in plugin and the timer in iframe don't start at the same time, it always triggers 'timeupdate' event asynchronously.
Also I added timeGap to update current time every 42ms for subtle adjustment.