Adds LoadingIndicatorView to pull out repeated code

This creates a view which starts with an activity indicator in its centre
and exposes methods to its children for showing and hiding the indicator.

We've replaced all the common code by making the different element views
of the dashboard inherit from this.

Fixes issue #7