Adds a dependency array system to `recv_glib` which internally clones the passed deps and then passes by reference to the callback.
This cleans up a lot of the big `{}` blocks full of `widget.clone()` and removes a lot of boilerplate. Yay!
Adds `orientation` and `justify` options to all modules and custom
widgets where it makes sense to do so.
Any modules without support document this. Widgets fully document the
options inline where present for now.
Resolves#296
This PR includes the necessary code changes, CI changes and documentation to generate and deploy a full JSON schema for each release and the master branch, which can be used within config files for autocomplete and type checking.