`Object.setPrototypeOf` exists in IE11
Add Safari 7
Add WeakSet and Chrome 33. Closes #100