Tweak syntax for Ruby 1.8.x (2.0)
Don't use autoload here
Split Enumerator::Generator and Yielder.
This insures a new Yielder is created for every `each`.
This can be important for the implementation of Lazy
v2.8.2: Fix 2.0 backports for Ruby 1.8.x