new video playback features

A bunch of changes. Same as closed PR #8, but excludes prior commits that were accidentally included
still need brace at end of previous line