Spinner (**rebases spinner branch**)

Finish the spinner behavior.

Need to replace text with a CSS spinner (@PixelJanitor has been pinged).
Yeah, it auto-indented when I removed the surrounding `let`. I'll change it back.