Updates to using the new legacy class shim which is lighterweight and more inline with the way classes actually behave. Also includes the following fixes for behavior that broke as a result:
- Updates reopening class to actually apply the mixin to already defined classes so they are correctly updated.
- Updates defaultIfUndefined and defaultIfNullish to be computeds instead of plain ES getters/setters. The getter/setter strategy unfortunately doesn't work until later on ([email protected]) so we need to do it this way for now. We'll update to a plain getter + cached setter once ES5 getters land in Ember beta/release
- Updates defaultIfUndefined and defaultIfNullish to re-initialize every time they are set to null/undefined. This is the behavior that most people will probably want when using these options, since every time a single arg updates on a component, all args are reassigned and initialized.
- Adds tests for checking that component bindings work as expected with the decorators