Allow Enumerator size argument to be any callable, not just a Proc or Integer.

Addresses [Bug #8641]

This is my very first attempt at hacking Ruby C code, and is TOTALLY cargo-culted. I don't expect this to be merged in, but I would LOVE some feedback so I can get better at this. Thank you!