Tree\AbstractClosure: enable attribute override

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