move some of the clearing logic from std.Io.Threaded to the Io interface layer, thus allowing it to be skipped by advanced usage code via calling the vtable functions directly. then take advantage of this in std.Progress to avoid clearing the terminal twice. closes #30611