[Core] Fix boolean logic error in Equals override for IconId

This change prevents the Equals override in IconId from throwing an InvalidCastException when the provided object is a non-null instance of a type other than IconId.

Previously, the null check was short-circuiting the if condition for a non-null object and bypassing the negated 'is' expression.  I believe '||' was meant meant instead of '&&'.

Since 'obj is IconId' will return 'false' when 'obj' is null, it is safe to remove the null check entirely.
Merge pull request #404 from ramon-rocha/patch-1

[Core] Fix boolean logic error in Equals override for IconId