Use composition instead of inheritance for SiLA Data Types

Description

see title

Use cases / Benefits

Protobuf made all generated message classes final in the latest version. I.e. we cannot inherit from them anymore to add our extended functionality.

To still have these convenience classes, we need to wrap them by using composition.

Proposals

It's probably a good idea to have an (abstract) base class for a SiLA Data Type and have all other classes inherit from this class. All other classes simply have a member of the corresponding protobuf generated SiLA Type and provide all of their methods through this member.