(#50) Decoupled the instantiation of controllers and widget DOM:
      - controllers are now instantiated first
      - the DOM for all widgets (even those nested in areas) is compiled
        while controllers are already doing their work
      - for better performance, no ngInclude is used to instantiate widget DOM
      - all widgets are linked at the same time to avoid unnecessary AngularJS
        digest-iterations
      - all widgets are attached to the dom at the same time after being linked
        to avoid unnecessary browser repaints
(#50) Decoupled the instantiation of controllers and widget DOM: changelog
Merge branch 'feature/50-page-load-decouple-controllers-and-directives-rebase'

* feature/50-page-load-decouple-controllers-and-directives-rebase:
  (#50) Decoupled the instantiation of controllers and widget DOM: changelog
  (#50) Decoupled the instantiation of controllers and widget DOM:       - controllers are now instantiated first       - the DOM for all widgets (even those nested in areas) is compiled         while controllers are already doing their work       - for better performance, no ngInclude is used to instantiate widget DOM       - all widgets are linked at the same time to avoid unnecessary AngularJS         digest-iterations       - all widgets are attached to the dom at the same time after being linked         to avoid unnecessary browser repaints