new video playback features

A bunch of changes. Same as closed PR #8, but excludes prior commits that were accidentally included