rework compilation and digest cycle

* directives in separate mixin
* directives are on the constructor and not the prototype
* digest is now two-phase process (start/complete)
* digest on Backbone.Events and DOM event handler completion
remove auto digest from DOM events, sometimes we need to use $.prop
0.22.0