Refactored react-backbone example to break out app and footer into smaller components, and delegate responsibility to those smaller components.

Moved save/destroy/cancel functionality into the todo item
components themselves and out of the app.

Moved filtering of todo items into the collection and out of the app.

Created a TodoList component, which contains the items and keeps track
of which one is currently editing.

Broke out footer into individual components that just grab what they
need from the list, and just modify the list themselves

Also upgrades react to 0.12.1
This component was uncontrolled but I forgot why. I think it's better to make it controlled (`value` into state). it's the better practice.