rename cabal.js to core.js
create all components with cabal.component()
Change to duck typing when traversin attributes.

Also remove extend method from mapper. Wasn't really that useful.
move things around a bit
Remove dependency to react.

The rendering engine must now be passed as an argument
of type function when calling cabal. This function is
called after preRender and will receive the data, and
headers as arguments in that order.