build: Enable unused warnings in C
The goal is to be free of unused X class of problems. For this, CI and any "serious" builds will fail on warnings. Debug builds, used in development, will warn by default but not fail. In addition, the 'strict' build option is added for when the debug build should fail on unused warnings as well.