Add new generic ClassExtended event + callback

* For every extension, a new 'ClassExtended' event will be fired.
  There already was a similar event, but that had the class name
  as a suffix.

* A callback can be set on the module, called 'extended'.
  It's called right before the ClassExtended events are fired.