We currently set up all of our warnings in the global scope, which is
quite suboptimal considering that we're also bundling a set of
third-party dependencies which inherit the same set of warnings.
Fix this by converting our warning-macros to target-scoped functions.