This adds a base class for `GreasePencilLayer` and
`GreasePencilLayerGroup` called `GreasePencilTreeNode`.
This reflects how the data is structured in DNA. Properties
that are shared among layers and groups are part of the
tree nodes. Examples are `name`, `hide`, `select`, etc.
This should not be a breaking change. Addons are expected
to work as they were before.
With this change, layer groups now also have access to the
`channel_color` and `select` property.
Pull Request: https://projects.blender.org/blender/blender/pulls/134348