Add hard mode

This PR adds a "Hard mode" to be used in CI and (maybe) hooks.
Hard mode currently activates Werror, causing the compiler to abort compilation upon compiler warnings. Unused functions and arguments are excluded.