I've tried your OpenGL version, but I guess the non-GL approach suffers from the same problem. The problem you're having is related to the action of reading the images from the disk. With the "read" message, the images are being read in the same thread as the rendering, so while the image is being read, there's no rendering of anything, including the live feed. Solutions:
1. Use the "asyncread" message instead of "read", as it creates a separate thread to do it.
2. Read all the images beforehand to different jit.matrix objects or, better yet, a single jit.matrixset, and trigger them when you need it.