Updated DynamicComposite to override super's addComponent methods

In order to use chaining when adding components to a DynamicComposite, the resulting object currently has to be cast as a DynamicComposite as the return type for addComponent is AbstractComposite.

I've updated DynamicComposite to override each addComponent method in AbstractComposite so that the DynamicComposite object can be returned.