All tests passing in IE8+

The WeakMap polyfill was using `Date.now()` and also using `delete` as a
key on a prototype. Fixed both of these and now all tests pass in IE8,
    IE9 and all modern browsers.