FWIW, I've implemented a --limit-rate option. I had no idea correct rate limiting was that tricky.
For this to work, you will need either a working usleep or select. If your system doesn't have either (Windows?), you will need to provide a usleep-like call.
