add mixin support

fixes https://github.com/dart-lang/custom-element-apigen/issues/15
nit: `WarningReporter` or `WarningCallback`?