Rewind interval needs to be bigger so the frame has time to get updated on screen.
speed attribute needs to get updated when simulating rewind.
PlaySpeedChanged needs to be triggered when simulating rewind.
A transition to PLAY_STATE_PLAYING is required when the seek operation is finished if not paused (priv.targetSpeed > 0). Otherwise it stays in PLAY_STATE_BUFFERING.
timeupdate events need to be ignored when simulating rewind.
__orb_onplayspeedchanged__ events needs to be ignored when simulating rewind.
I've just tested the seek() operation doesn't experiment any change by running all the seek() tests I could find to check the same results are obtained: