#6 mixin approach to offer two different flavours (Component.extend vs React.createClass)

I'm still missing a couple of tests and fix getCollection and getModel usages on Component tests. Besides that everything should be working.

Whenever a component mounts a Wrapper is created (taking care of all the binding). When it unmounts it disposes of the wrapper.

I think unmount and mounting the same component again won't work but I'll check that out tomorrow.

CC @ahdinosaur feel free to test it out.