Replace facades instead of aliases

More logical, because aliases are auto-detected. This way, the original
facade is also kept.
Extend the facade class

Fixes Issue #1
Only extended when it is not the same as the root class (because of
overriding static methods)