Upgrade to React 0.12.0

In this PR:

- Upgrading to react v0.12.0.
- Adding the ability to lookup rendered components by tag (not DOM or text components)
- Adding ability to check if component is a valid react class
- Adding ability to check if element is a valid react element
So the previous behaviour for text components was that `props.text` would be the text that is being rendered. If that's no longer the case, then we should be able to remove the `.props.text === text` test and all our previous tests should pass.