breaking API change: .add added

Handles method overrides and adding methods to the chain.

Trying to do it without an .add method adds a lot of complexity due to
the lack of proper support of Object.observe.

We now use chainit.add(chain, 'methodName', method)

I did not use chain.add because it would be tricky to choose the right
name that would not override a current method.

The real add method is hidden inside the chained proto.
1.0.0