Introduce ContainerBlock class for all container blocks.
Introduce LeafBlock class for all leaf blocks.
Remove obsolete getType() and toString() methods.
Remove pointless block methods.
Move children handling from node to container block class.
Leaf blocks are really normal nodes.
Container blocks and blocks are now containers.
addChild() already returns $this.