the problem we fix is that since we add the styles asynchronously, the browsers, esp. Firefox, sometimes apply transitions from the null/default state to the one specified in the injected CSS.
supersedes 72e8213b and 4dbca46b
* bonus: one unconditional global listener less
* bonus: in FF the saved window size is restored on detaching
* theoretically possible drawback: 100+ editor tabs on a slow computer may be slower than before