Lines

What's included in this merge:
- Lines can be properly interpreted from the mml (this took me a while to do correctly)
- Lines can be rendered with custom arrowheads
- Lines can reflect even the fastest particles with uncanny accuracy*

*You'd think that speedy particles would miss such a thin line, but with some cross products and some analytic geometry, nothing can get through _that_ easily :smile: 

And yes, all tests pass. :100: 

This is probably my last pull request for the year :cry:
Thanks to all that have provided their support. I couldn't have done it without you!
Have a great summer and rest of the year! :wave: