Change #include <d3d.h> to #include <d3d9.h> in gfxD3D9PCDeviceProfiler.cpp
Check NULL pointer on void MenuBar::updateMenuBar(PopupMenu *popupMenu)
Add SlotSignal for handle automatic disconnect on Signal or SignalSlot destruction.

Example:

```
Win32WindowManager::Win32WindowManager()
{
   // Register in the process list.
   mOnProcessSignalSlot.setDelegate( this, &Win32WindowManager::_process );
   Process::notify( mOnProcessSignalSlot, PROCESS_INPUT_ORDER );

   // When Signal it's destroyed, all slots are disconected.
   // When a SignalSlot it's destroyed, it's disconected from Signal.
}

```
Fix crash on exit T3D when build with CMake.

Process::_signalProcess is destroyed first, and then Win32WindowManager::~Win32WindowManager() try to remove from deleted Signal causing a crash.

SlotSignal handle this automatically.
Fix crash on exit T3D when build with CMake and SDL2.
Merge branch 'dev_linux_opengl' of D:\Torque3D\dev_linux_opengl

Conflicts:
	Engine/source/gfx/D3D9/pc/gfxD3D9PCDeviceProfiler.cpp