Basic::Window object can now self-destroy on WM_DESTROY