feature(client): Add a spinner!

Displayed on:
* App startup
* View render
* Form submit

* Add a new static function to Base - Base.withProgress. This shows a progress
 indicator if the action takes a long time.

fixes #371