First steps towards a more dynamic dashboard

* use dc.js to coordinate between charts
* only works on regional level due to data transfer sizes
* currently hardcoded to a single region
* plot sizes and gridster layout also static

Next steps are to integrate this with the rest of the page.
Region is no longer hardcoded

* Dropdown to select region (should eventually be replaced by a map)
* Some cleanups & refactoring, more needed
Use black text on pie & row charts
Allow the margins to be passed into getDimensions
Size charts according to containers & refactoring

* Charts take their sizes from parent containers. Complicated by
fact that the tab is initially not visible and dc is not smart
enough to do it itself.
* Add a top problems row chart.
* Add a datacount widget.
* Fix databindings of select elements in the national form.
Do not use the same controller for the whole dashboard
Use & style bootstrap panels inside gridster elements
No need for parent references in tiles
Remove nested controller for forms, initialize params

The value of the select for the Region/LGA/Ward dropdown is bound to
a params model. If that model doesn't exist on the controller scope,
it will be created on the wrong scope when the select is first changed,
causing the value to be ignored. We need to initialize params on the
controller scope immediately when the controller loads s.t. the model
is found and set in the right scope.
Re-arrange regional dashboard charts
More UI improvements

* re-layout charts
* add proper headings
* fix thin bars in year charts
Add very basic spinner modal