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 directly. gl_video still recursively
includes vo.h but is mostly decoupled from it.