Added possibility to change curve colour and width

The stroke colour and line width of each curve can now be defined
separately in the data.
Added dynamic filtering of curves

Curves can now be filtered dynamically by providing a function within
the data dictionary. If the function returns true the curve is drawn
and otherwise it is skipped. If no draw function is provided, all
curves are drawn.
Added redraw function

redraw function is known from other Leaflet layers, such as the
TileLayer.Canvas for example.
Replaced curve styling with style function

Instead of providing individual stroke style and line width for each
curve, it is now possible to provide a style function that returns a
dictionary with the stroke style and line width. The style function
receives the data for the corresponding the line, enabling dynamic
rendering of the curve style.