schema: Define schema in CUE
Implement initial CUE based schema and loading.
CUE loading is currently a bit strange due to the immaturity of the CUE language implementation in Go, specifically the loader implementation.
It relies on an overlay filesystem to essentially mock a cue.mod
directory in the same directory as the user-defined configuration. The
Python CUE schema files are placed in the overlay filesystem under
cue.mod/pkg
so that user configuration can import the schema without
having to manage their own CUE modules.