shim from mozilla for function.prototype.bind to be on the safe side