Support for component overrides

This is an advanced feature that allows one namespace to override a
component in another. This is useful if you need to modify the HTML of a
component for some reason.
Upgraded to latest Guava
Refactored AssetSource into ResourceLocator
Upgraded Clsoure version