Ensure subtitles are cleared when they are supposed to be.

This cleans up the usage of SetRedraw() and safe area clipping so that
the results are actually correct and the right updates are drawn.
Otherwise, depending on the renderer used, the previous subtitle might
not be cleared until the next one is displayed.