Provide a WeakMap Polyfill

This provides a polyfill that matches the current draft ES6 specification for WeakMap.  It addresses issue #2.

It adds a simplistic UID generation as `lang.getUID()`.

It provides a WeakMap polyfill that offloads to the native implementation when detected.
This variable doesn't have an interface defined, so the export of this module will be `any`. I *think* this should be `var WM:typeof WeakMap;`, but don't quote me on that.