Refactor video initialization

Most of the code lives in `main` and could use some refactoring. All the parts that deal with initializing the video: getting the arguments and fast forwarding the video are now put into one function. All data about the video is also now being passed around as one dictionary called `video_data`.