adjust text:ports to better deal with giant amounts of bytes
adjust text:ports to better deal with giant amounts of bytes

by splitting them up and using separate events so other work
can also happen while the insertion is going on.

This change also changes the queue-callback for IO insertion
to be a low-priority callback. This should have been the case
before, I think, but it is a bit surprising it wasn't and so
this may also cause other problems

closes PR 14851

mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket