dynamic-time-warping: Add function and scale inputs (unimplemented).
Add .DS_Store files to .gitignore.
dynamic-time-warping: Cache evaluated mathematical expression.

Rather than evaluating the expression every time the function is
invoked.
dynamic-time-warping: Add configurable function and scale inputs.

Generalize data generation and drawing functions.