Followup 32fef8b5ee247: actually fix event aggregation, unbreak toolgroup disabling
Followup 32fef8b5ee247: actually fix event aggregation, unbreak toolgroup disabling

instanceof OO.EventEmitter always returns false because EventEmitter
is a mixin, not a base class. We got rid of isMixedIn(), so I'm
resorting to just duck typing EventEmitters unless and until someone
comes up with something better.

Also fix usage of isPlainObject() where what we really wanted to check
for was isEmptyObject().

The auto-disabling tool demo now works again.

Change-Id: I3bad99492c6dac505b2233bb9204bb591e0dc92c

wikimedia/oojs-ui,wikimedia/oojs-ui,wikimedia/oojs-ui,wikimedia/oojs-ui