[WIP, don't merge] Improve throbber/spinner animations smoothness (bug 1091654)

https://bugzilla.mozilla.org/show_bug.cgi?id=1091654

* `.spinner` no longer contains the animation, it's inside a `::before` to avoid repainting more than necessary when there is padding added to the spinner
* `.throbber b` animation no longer changes the background, instead we change the opacity of another layer with the different background in each `<b>`

WIP, still need to test & improve with Firefox OS / Firefox Desktop devtools to figure out what we can do.
have you tried this behind Firefox's `layout.css.will-change.enabled` flag? it's already shipped in Chrome, fwiw.

per the [CSS Will Change spec](http://www.w3.org/TR/css-will-change-1/):

> Authors should avoid overusing this property, and shouldn’t apply it to an element unless it is known (or expected) that the element will change in the indicated way soon. For example, __applying `will-change` to an element from a static CSS stylesheet is probably an error__; most of the time, will-change should be applied by scripting, some time shortly before starting an animation or other change, and should be promptly reset to its initial value of auto when the element stops changing.

and per this [Opera article](https://dev.opera.com/articles/css-will-change-property/#does-will-change-affect-the-element-it-is-applied-to-beyond-hinting-the-browser-about-the-changes-to-that-element):

> [U]sing one of (or both of) these properties [`clip-path`, `opacity`] as values for `will-change` will create a stacking context on the element, even before the change actually happens.

> Set `will-change` to the properties you’ll actually change, on the elements that are actually changing. And remove it when they stop.

if you think you still need to do `will-change: opacity`, you should do it in JS. if you decide to instead keep it in the CSS stylesheet, then make sure the `will-change` is removed after `animationend` has fired (i.e., when the element is removed from the DOM).