MSVC leak detection changes.

I'm actually not sure where `DEBUG` comes from. `NDEBUG` is the standard macro used in `<assert.h>`. `_DEBUG` is MSVC specific and used to denote a debug build. I'm using it because it's guaranteed to do what I want when compiling with MSVC.