Major refactoring to simplify code.

ComponentBinding classes now use ComponentBindingStategy(s) and component resolution now flows from the container down to the strategy class.