Tree\AbstractClosure: enable attribute override

`private` attributes are very restrictive.
Though making them `protected` is not mandatory, it's better to enable users to customize them.

For example, in our business we gain ~5% performance changing `$depth` to a smallint unsigned.