swings() now with wider cross-browser compatibility and degreeOffset, closes #2