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