Gl lines

@jbeezley this is not done yet. But have a look at the API change and let me know what you think of it. Also, once we both agree on the API, then I will let you update the d3 code.