build: Silence compiler warnings for generated C code
These warnings are known to be irrelevant when using Vala, see e.g. https://wiki.gnome.org/Projects/Vala/Tutorial#valac. However, it is desirable to keep them for non-generated C code. This is achieved by setting a flag to be passed only to compile blocks containing only generated code, and by moving the non-generated code that requires it to a separate library.