Don't get selection if no active element

Fixes #694.

Previously, it could be that there was an active element that was removed in between mousedown and mouseup.
Further cleanup of isEventSupported
Fix WheelEvent incorrectly inverting sign of deltaY
Use proper window object for iframe in enter/leave

Fixes #788.
Merge pull request #771 from spicyj/gh-694

Don't get selection if no active element
Merge pull request #778 from syranide/flipwheel

Fix WheelEvent incorrectly flipping sign of deltaY
Merge pull request #780 from syranide/newhasevent

Further cleanup of isEventSupported
Merge pull request #803 from spicyj/gh-788

Use proper window object for iframe in enter/leave
Fix cases where owner warning is shown

In b0431a5 I added the check in the wrong place which could cause the warning to be shown because of key changes rather than owner changes like the warning suggests.
Add PropTypes.component to demand a single React component.
Remove CallbackRegistry
Merge pull request #797 from spicyj/should-update

Fix cases where owner warning is shown
Document PropTypes.renderable and PropTypes.component
Merge pull request #862 from cpojer/docs-proptypes

Document PropTypes.renderable and PropTypes.component
Remove trailing whitespace
Fix EnterLeaveEventPlugin Test in jsdom

This is a follow-up to #803.

In jsdom (used for internal testing), `<iframe>` does not properly create a default document. This makes the `EnterLeaveEventPlugin` tests work for jsdom, too.

Open source does not need this because it uses PhantomJS.
Fix Undefined `ownerDocument` Fatal in IE8

This fixes a JS fatal in IE8 when `topLevelTarget.ownerDocument` is sometimes undefined.
Better LinkedValueMixin Warning

Input elements of type `checkbox`, `hidden`, or `radio` can have a `value` without `onChange`. Also, if the input is `disabled`, who cares that it doesn't have an `onChange`?
Upsell dev tools

People probably don't know these exist. Add some information about React
dev mode as well as a link to the developer tools when using Chrome.
add React.PropTypes.any

add the ability for React propTypes to accept an `any` type: `someProp: React.PropTypes.any`.
This is more useful when combined with `.isRequired`, to enforce that _something_ is passed:
`someProp: React.PropTypes.any.isRequired`