Video player split

Related to #2251 and #2270

Split Video/VideoPlayer classes on a per-API basis. No functional changes.