Add support for mutation observers. Refactor adapters to use a single global event. Completely refactor the animation adapter. Extend option is now used to extend dom nods with methods and properties if specified as an object.