Improved widget directive

Fixes #25 and #26. Also is a step closer to recompilation as requested in #13. Now all that must be done is to figure out the best way to trigger [scope.compileTemplate](https://github.com/DataTorrent/malhar-angular-dashboard/blob/improved_widget_directive/src/controllers/dashboardWidgetCtrl.js#L150). Added more tests.