Better compatible shim for Function.prototype.bind

Existing polyfill is not completely compatible and breaks native bind usage in underscore.js