Allow components to have children

This allows ComponentNodes to have children. This allows you to set the content of a component dynamically and compose components really easily.