You are in for a world of pain if you try to do this as described.
First, unless you're hosting your lesson on a server that's configured as a video server, you will not be able to arbitrarily jump around videos. Videos will only be accessible to the point where they've downloaded.
Second, you can't overlay anything on top of videos. The video component is a separate HTML element layered on top of the HTML5 canvas element, so anything on the canvas is going to be under the video. Well, there is a workaround for piping video through the canvas, but it's CPU-intensive and apparently doesn't work on iOS.
If I were you, I'd break your video up into multiple video files, one for each segment. Then at the interactive parts I'd hide the video component (and switch it over to the next video so it'll be instantly ready to go), and put up a screenshot of the video on the stage so you can overlay things on it.
Just a comment that I find it simply remarkable how HTML5/Canvas has been hyped up as so much better than the awful, outdated Flash, yet so very much that I used to be able to do in Flash easily is nearly impossible or impossible to do with this "new" technology.
That's nice. Did you have a question?