Allow components to pass state to children.

This state will get merged in with the child's state. Update sortable,
greatly simplifies and clarifies logic without unnecessarily polluting
the cursor. Add support for :init-state, component can set initial state
of child, this is a performance optimization so that this kind of state
doesn't participate in shouldComponentUpdate tests.