Test that Node is a function before using instanceof on it
omitClose for all void elements

According to http://www.w3.org/TR/html5/syntax.html#void-elements the following elements should not specify end tags:

area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr
[Docs] document optional param for renderComponentToString
Add polygon tag to transform

Fixes #1144.
Add missing backtick in complementary-tools.md
Fix docstring typo for pure render mixin
Merge pull request #1207 from passy/patch-2

Add missing backtick in complementary-tools.md
Add thinking in react to the official docs
fix
Merge pull request #1209 from petehunt/thinking-in-react

Add thinking in react to the official docs + cleanup
Fix IE8 disabled input throwing on focus

When IE8 focuses a disabled item, it throws
This makes sure the we're not focusing the item during selection restoration/autofocus when the element's disabled.
temporarily disable warning
Fix ReactPropTypesTest

children should never be defined as propType, so changing the test to use an actual prop.
Better name for server-side rendering without React ID & checksum

"staticMarkup" sounds way better than "noChecksumNoID".
Also avoids some double negations.
Add monitor module for logging instrumentation

This adds an instrumentation hook for logging so that we can monitor invalid API
usage before we're ready to issue a warning.

I took the opportunity to update some console.warns to use the warning module
instead. The remaining console.warns
will be replaced by the warning module after we've cleaned up the callsites.
ReactRAFBatchingStrategy

This will go in React addons only for now until we figure out `pendingState`.
Refactor rendering to string without checksum & React ID

Finalize API for rendering to static markup.
Instead of passing a boolean option to `renderComponentToString`, just use another method.
Add more owner context to monitoring

Always include context and specifically include the component that was missing a key.
Unbreak refs

If no refs are rendered, `this.refs` is undefined. This is bad since it deopts & is hard to look for. Instead we should make `this.refs` an immutable empty object.
Move UI-thread-only browser modules to browser/ui/

This also deletes an unused module.