Generate complex haptic vibrations via navigator.vibrate()
As of December 2016, you'll need an Android device to feel the good vibration.
Explanation of the pattern generation
With thanks to Bemmu's jquery-spline-editor.
If you find use for this code or the resulting haptic patterns, I'll be pleased to hear about it @mattthew.