Sine wave path for scrolling text over triangle background in Dart and rendered in HTML5 Canvas