Add a "Form-Generating"-feature to Owlkettle
### The usecase
For all the example widgets I would like to have a generic proc or template or so that I can just hand any kind of `<WidgetName>State` and that generates me a Form where I have DataEntry fields for every field on said state (except for app and viewed as those are owlkettle internal I think?).

This would be useful to let the user see what happens under various circumstances if they manipulate the state of a widget as they please.

It could also be useful if users want to generate a form to manipulate data on the fly without having to write it by hand.

### The concept of a solution
Conceptually, I'd have assumed any approach would simply need to iterate over the fields of `<WidgetName>State` type, transform the values of the fields into an enum-type and then use fieldName and the enum-type to associate the field on  `<WidgetName>State` with a DataEntry widget. Which DataEntry widget is chosen is determined by the enum-type.

This normally wouldn't be toooooo hard without but the combination of any State type having `app` and `viewed` fields that somehow cause compiler crashes when accessed by the loop as well as the guidsl tolerating neither when statements (which would allow me to avoid those) nor macros that enable unrolling a `static: seq[string]` for-loop in the gui section makes all my typical non-macro approaches impossible.

#### Prior approach (Placeholder for like 3 other similar ones I all attempted)
Removed, it is irrelevant as I found a solution