Implements spin-button

closes #3928
- Adds gh-spin-button component
- CSS for spinning button

---

@PaulAdamDavis Can you check that CSS for me? The `spinner` doesn't spin currently (I re-used the CSS from .org for it). You can easily test it by setting `submitting=true` in the .hbs template.
As a general rule, we put pseudo elements inside its parent, such as:

```
.spinner {
    ...
    &:before {
        ....
    }
}
```