Eliminate some pointless rerenders of the video display

If the frame number hasn't changed and none of the currently visible
lines have changed, there's no need to rerender the subtitles and
redisplay the frame. Mostly helps with very slow opengl implementations
where actually painting the video display is expensive, as the rendering
is done on a background thread anyway.
Remove an entirely pointless GUI-thread-blocking call to GetFrame
Set the margin controls in the style editor to the correct initial values
Use GCD on OS X rather than boost.asio for the thread pool