Reworking mixins so that they WORK

We can not be guaranteed that the ctor of an element will
be ready after calling Polymer(...) since it's async.

The proper way to do this is to ensure we mixin the
module BEFORE we pass it to Polymer.

Uses lodash to merge the objects so that mixins can
define this.supports_ array.