Basic property behaviors
Merge weakmap.js shim directly into the build

… instead of trying module loading tricks (because supporting Node,
AMD, and globals loading styles simultaneously makes dependency loading
ridiculously inconvenient).
Some utility functions