Redesign line visual to use a single ModularProgram for its life, rather than creating a new program at each draw.
Added line_update example, fixed a few bugs to allow repeated calls to LineVisual.set_data()