Added some missing template options to the LayoutTraits class in the DynamicLayout.
Added a child() method to the CompoundLayout that returns an instance of the child layout at the given index.
Modified the LayoutContainer and CompoundLayoutContainer to take a reference to a Layout rather than instantiating one.
In the case of the dynamic layouts, this forces the container to hold a reference to it but in the case of a static
layout, it holds nothing (as static layouts have a size of 0).
Also updated the todo.
Added the forward and backward channels.
Changed DynamicLayout::ChannelMask to no longer have a full mask but instead, have an empty one.
All functions that expected a full mask now check to see if the layout is dynamic instead.
Updated the TODO.