This adds decorator support in a very basic way, but enough that it doesn't take a lot of effort to get it implemented. This also starts work on splitting things out for theming.
This will make it far easier to ensure that components are in their own modules as well as make it possible to have custom builds of Select2.