Update the library object `term` to use the `term_variables/2` ISO Prolog standard predicate and to not use the SWI-Prolog and YAP proprietary `(=@=)/2` built-in predicate in its implementation of the `variant/2` predicate due to inconsistent results when there are shared variables between the arguments