polyfill for Function.prototype.bind