Use non-recursive bisect-left. Reduced exposure of implementation details.

bsearch wasn't returning all valid timers. It was sufficient but not complete. Using Array#shift is bad, O(N). Using Array#pop is better, O(1). Don't know why I did this initially. Improvement 15,000 e/s to 100,000 e/s.