Share reconcile transaction in batched updates

Should make #1350 better and will also take away any performance hit from #1157.

Test Plan:
grunt test
Adds svg mask and pattern dom components
Adds svg pattern and mask components
Start Flux video at 10m21s
Preemptively error when required ES5 shim/shams are not available
Merge pull request #1516 from syranide/es5err

Preemptively error when required ES5 shim/shams are not available
Merge pull request #1504 from spicyj/flux-621

Start Flux video at 10m21s
Make perf show all exclusive time, not just render time.

Currently require('ReactDefaultPerf').printExclusive() shows render
time and aggregate componentMount time.

This makes it show exclusive mount time by tracking a stack.
Merge pull request #1358 from spicyj/one-transaction

Share reconcile transaction in batched updates
Merge pull request #1487 from somethingkindawierd/master

Adds svg mask and pattern dom components
Update Simulate docs to reflect reality

cf. #1532, #1445.
Attach empty onclick listener to each node

Fixes #1169.

This is a more robust way of fixing what MobileSafariClickPlugin previously tried to. Now even if you don't want anything to do with touch events, click events still work properly.

Test Plan: Added a click handler to an `<img />` element and triggered it in the iOS simulator -- it didn't execute before.