iOS and OS X easy method swizzling - that is, method redefinitions at runtime