Remove CommonLayer and unused ContainerLayer methods
CommonLayer is only used by ContainerLayer, so it can be moved directly into ContainerLayer. A vector can also be used for storing children instead of an embedded linked-list since the operations we do on the list of children are still very limited.