Only include execinfo.h when glibc is used
Use correct OS macro to guard execinfo.h
Print message on error signal
Ensure ‘new_mode’ is initialized; fixes compiler warning

wlopm.c: In function ‘sync_handle_done’:
wlr-output-power-management-unstable-v1.h:295:9: error: ‘new_mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  295 |         wl_proxy_marshal((struct wl_proxy *) zwlr_output_power_v1,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  296 |                          ZWLR_OUTPUT_POWER_V1_SET_MODE, mode);
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wlopm.c:178:40: note: ‘new_mode’ was declared here
  178 |         enum zwlr_output_power_v1_mode new_mode;
      |                                        ^~~~~~~~
Append to CFLAGS, instead of replacing them

The makefile already use (directly, or indirectly) CPPFLAGS and
LDFLAGS, so it makes sense to also use the user provided CFLAGS.

One example where this is necessary is if the user has set
CPPFLAGS=”-D_FORTIFY_SOURCE=2”, which, before this patch, results
in (even if the user has set CFLAGS=-O2):

/usr/include/features.h:397:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) -Werror=cpp]
Add sourcehut build job
Merge branch 'manpage'
Make man page follow convention
Make compiler flags more aggressive
Use function for json error messages
Accept * as parameter to operate on all outputs
Better commandline interface, support multiple operations
Add json output mode
Add "toggle" operation
Fix segfault when required protocol not supported
Implement everything