[core] Separate set_video a little bit
[vis] Have layout data separate from image data.
Use a Vec and a Rect to position subimgs, not three Vecs.