Bug 840584 - When a new rotation event comes in while a previous one is still snapping, cancel the snapping animation. Also, ensure that the completeRotation class is not applied when it is unnecessary to ensure that it is always removed whenever it is added. Also fixes bug 839625. r=jaws