AM rewrite

Started to see what an AM version of these components would really look like. Using the MOST controversial underscore syntax: `_ComponentName="variant names"` and `_mixin="mixin names`. Obviously you could use `ui-component-name` or `data-ui-ComponentName` or whatevs.