Previously we had UndefinedBehavior mixed with other sanitizers, in
special implicit conversions and overflows.
Also, run the sanitizers in Release configuration, so they will run
faster. -O1 is just needed for perfectly nice stack traces.
Also, moving the flags to an interface will prevent them to leak
to our external dependencies.