complete() never gets called in modalmanager if there is a fast transition

### Description
`complete()` in `appendModal` doesn't get fired after the modal appears when transitions are enabled and the transition finishes before the JS reaches that point. It does however fire `complete()` and therefore `setFocus` as soon as a user triggers any webkit animation (i.e. textbox highlight on focus in bootstrap), then it re-focuses everything again causing weird input focussing bugs. Since it is a .one binding, it doesn't happen over and over -- only annoyingly makes you select an input twice or selects the first element when you click on the second one.

### The Fix
If the transition is already complete (element is not shown) then fire complete immediately.