Start updating react to 0.12.0
Use isValidElement and createElement to avoid deprecation messages
Use React.createElement throughout
Avoid unnecessary object creation

And fix check for input/textarea
Introduce render, render-to-string and render-to-static-markup

The new names correspond to changes in React in 0.12.0.

Both render-component and render-component-to-string are kept for
backward compatibility.

Call React.render etc to avoid deprecation warnings from React.
Make sure render-to-string etc work better in a browser

Previously, they would be reactive, which could lead to all
kinds of strangeness.

Also fix pesky Closure warning.