Define syntax for GObject properties
See the syntax document for a proposed syntax to define GObject properties.
Issues to consider:
- Property flags (construct-only, construct, readable, writable, etc.)
- Construct properties need a default value.
- It must be possible to override properties from the parent classes.