Fix implicit conversion from int to VALUE in Hash#eql?

`rb_eql` returns an `int`, but `hash_equal` implicitly casts it to `VALUE`. This means that `my_hash.eql?(my_hash_like_object)` returns `0` instead of `true` when the two instances are eql.