NOTE:  this is the one place we do NOT want to save the number
of bytes sent (nRemaining here) into lastBytesSent:  since we
are resending what we've already sent before, offset is nonzero
in general (only way it could be zero is if it already equals
nRemaining), which would then screw up the offset calculation
_next_ time around.  IOW, getRemaining() is in terms of the
original, zero-offset bufferload, so lastBytesSent must be as
well.  Cheesy ASCII art:

<------------ m, lastBytesSent ----------->
+===============================================+
buffer:  |1111111111|22222222222222222|333333333333|     |
+===============================================+
#1:  <-- off -->|<-------- nRemaining --------->
#2:  <----------- off ----------->|<-- nRem. -->