Split text block into spans wrapping lines as they are layed out by browser. It makes only one change to innerHTML per block.