[CherryPick] Vibration cannot be canceled during pattern vibration.
[Title] [CherryPick] Vibration cannot be canceled during pattern vibration.
[Issue] N/A
[Problem] Vibration cannot be canceled during pattern vibration
[Cause] If resting time which are even numbers of pattern m_isVibraing is false, therefore if cancel is called it is returned.
In addition, m_timerStart need to stop in the cancelVibration() with m_timerStop.stop().
If cancelVibration is called right after m_timerStart is fired, timerStartFired function can be called even if vibration is already canceled because of timing issue of timer.
[Solution] Cherry picked
[Cherry-Picker] Jiyeon Kim
https://bugs.webkit.org/show_bug.cgi?id=117822
Change-Id: If6c3332bf7b4867abb47b5f295cbf16458edfda2