vo: move frame timing struct in it’s own header

This is needed so that we can pass down the struct to gl_video in later
commits, without coupling it to vo.h.