Fix reactivity breaking on component state change

When the component was re-rendered because of a state change from React
(such as a `this.setState()`), the rendering would not be run within a
reactive context. This meant that there was unreliable re-rendering of
components due to reactive state changes.

Now the `React.createClass` method is wrapped. It modifies the spec
before it is added, modifying the render method such that it runs it
within a reactive computation.

This also fixes problems with other non-render methods using reactive
data sources and causing unnecessary re-renders.