Added model and behavior aliasing.

By aliasing them they can be simply overriden by adding the corresponding classes in the implementing component.

Aliasing is also now smarter. The activity controller extending from activities may now have an arbitrary name.