rewrite vi interrupt speed limiter based on pull request #24 from ricrpi on github. the original algorithm had some undesirable behaviors