Use transition event to check whether the animation has finished to fix visual problems caused by any performance problems.

Fixed performance problems on iOS6 causing a white block to appear where the initial view you were moving from is removed too early. Now we wait for the animation to officially end rather than make assumptions.