Implement "addchild" and "removechild" events on Composite

API is nearly identical to backbone collection "add"/"remove" events,
except that there is no way to pass options along with the method
causing the event (i.e. append/appendTo). This would be a very
convinient way to pass information to a layouter.

Also, adjust documentation and defintion files for Composite and widgets
"extending" Composite.

Change-Id: I61bc7c7ca510128d362e7828a11248bc3d7fe801