A highly configurable UIView category for shaking a view with various shaking styles