Added SharpDxDisposeHelper.SafeDispose method. It wraps call to SharpDx.Utilities.Dispose - seems like it is not safe dispose. SharpDx.Utilities.Dispose(_d3dContext) raised NullReferenceException in SharpDX library (in some cases - when _d3dContext wasn't null but it's NativePointer pointed to null pointer).
Just changed every occurence of "SharpDx.Dispose" to SharpDxDisposeHelper.SafeDispose - although I haven't found any problems with code I've changed in this commit - but if SharpDx.Dispose can crash when null ptr is passed it's better to change that code too..