Add proper linear extension, fix some minor bugs
Stop pumping and yield return an element at the end of input
Use an __iter__ generator instead of __next__
Add missing bits from time_window
Yield remaining values on end of input
Convert class to generator