Reuse `maybe_visit` method

This commit simply removes duplicated code by reusing the [existing `maybe_visit` method](https://github.com/rails/arel/blob/master/lib/arel/visitors/to_sql.rb#L786).
Ehm :sweat: I just reviewed my PR and this should say `collector = maybe_visit o.top, collector`… I wonder why the tests did not fail… I need to make a new PR :sweat: