splits upload "button" in two.
splits upload "button" in two.

we can't use a <button> here, so keeping the button-role span.
however the loading spinner cannot be nested inside a button-roled
component.
to solve this, i pulled up the conditional and made two spans out of
one, the non-button one rendering the loading spinner.

ilios/common,ilios/common