Remove unnecesary use of _SafeDelete

It is not necessary to check whether a pointer is NULL before
deleting it, "delete NULL" is explicitly ok.

The deleted pointer is a local variable here, so setting it to
NULL after deleting isn't necessary in these cases either.
Use delete instead of the _SafeDelete macro

Since this is the destructor of the class, the member variables
won't be read afterwards, and setting the pointers to NULL afterwards
is redundant.
Simplify code by calling WelsFree directly instead of using a helper function

This makes the code simpler and clearer. It's not necessary to use the
_SafeFree helper macro in neither of the case - in one case the
pointer is overwritten immediately, in the other case it's witihin
the destructor where the pointer won't ever be read again.
Remove some now unused macros
Merge pull request #1359 from mstorsjo/cleanup-simplification

Simplify code by getting rid of unnecesary SafeDelete/SafeFree macros