Implemented loader registry
Simplify by removing unused callback parameter
Implemented default component loader
Ensure each component loads only once

… even if you ask for it multiple times before it's finished loading
Remove redundant code
Switch to DocumentFragment as the normalised form of a component template (as it makes cloning for render simpler and faster)
Component binding, part 1
Rearrange component loader code a bit; I think it's a bit cleaner this way.
Component binding, part 2 (of 2, hopefully)
default loader - use error callback instead of prefix string; move AMD logic out of the template and viewmodel loaders; simplify parallel loading logic.
Get 'require' function through AMD; remove unused parameter from resolveConfig
Minor spec fixes
component binding: accept name as single parameter (similar to template); refactor to remove dom-data; modify Jasmine so we can catch errors thrown asynchronously.
Prevent a possible memory leak
test using component binding against an observable
test that createViewModel is called with the component definition as the context
Revert to using array-of-nodes as the template format; fix minification issue; unregister already calls clearCachedDefinition, so no need to call it again.
Swap (componentInfo, params) to (params, componentInfo) on createViewModel
Support loadTemplate and loadViewModel
Merge branch 'components'