Basic dashboard and widget infrastructure

The plan is to get the basics out for how widgets and dashboards are created, drawn and managed.