Making layout structure more AngularJS friendly, by making rows and columns an array instead of a hash object.
Adding 'weight' property to layout rows and columns for controlled ordering.
Getting rid of keys filter from ng-repeat loops as it was breaking bindings and making loops harder than usual.
Getting rid of AngularJS's $routeProvider as it was enforcing rendering all layout on every URL change; using a main Application controller instead. This also fixes page title and pave the way for dynamically include css and js files.
Making it render the entire layout only when the context is changed for improved page rendering.