bind() acts funny on IE 8/9

It appears to be caching the first function creation, so that subsequent
creations of the same function do not use the new curried parameters
provided. Not sure if this is a IE bug or an issue with the way that
prototype interfaces with the native bind calls on that browser.

Work around by using closure variable instead.