Fix potential crash during memory warning.

This could happen when the object entered dealloc on a background thread and at the same time received a memory warning notification to handle (on the main thread).

The solution suggested by @ryanolsonk is bailing in the handler when the weak reference to self is nil'ed out by the weak system.

This change also removes a previous attempt at fixing this observed behavior by holding a strong reference to self, where we wrongly assumed that NSNotificationCenter no longer grabs a strong reference to the observer before notifying.