Fix bug with visitor wrappers in search module

This changes the way search visitors are wrapped, such that the original
class remains unmodified. With the previous code, the original classes
would be repeatedly modified, adding unnecessary overhead, and even
possibly causing the number of nested calls to exceed the maximum
threshold.
Fix animation demo problem with newer gobject