improve elaspe_timer, add timeupdate event