Plugable Dashboard.

Added an interface for plugins to add widgets to the dashboard.
The user can customize the dashboard by adding removing and rearranging widgets. 
The customized dashboard can be saved locally in the browser local store (similar to cookie).