issue-581: avoid destructing DebugMallocImplementation

Because otherwise destructor might be invoked well before other places
that might touch malloc extension instance.

We're using placement new to initialize it and pass pointer to
MallocExtension::Register. Which ensures that destructor for it is
never run.

Based on idea suggested by Andrew C. Morrow.