Fixes #1087 issue with triggering & canceling animation in same runloop.

The problem was that cancelAnimation relies on the invokeLast'd _animate to set the view to its planned final layout. This means that if any further changes are made in the same runloop, before the invokeLast(_animate) call runs, the planned final layout will override them.

This fix moves the pertinent adjustment from _animate up in time to run within cancelAnimation rather than later.