Modeller Chapter

This is my first draft of the Modeller chapter. It's my first time attempting technical writing; I expect many iterations will be required.

I have a few major questions to ask from reviewers/editors:

##### 1. Linear Algebra
I'm not sure how much depth to go into regarding the linear algebra for the modeller. OpenGL linear algebra could easily fill a chapter on its own, depending on how much background knowledge is assumed.

For the most part, it's basic Matrix arithmetic (Matrix * Matrix, and Matrix * Vector), but there are a few cases where the arithmetic is non-obvious:
- Using a 1 or 0 in the 4th dimension to distinguish between points and vectors.
- The arithmetic behind the projection matrix
- The relationship between Model, View, and Projection matrices

One option for us would be to point to existing explanations of OpenGL linear algebra, for example [opengl-tutorial.org](http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/#The_Model__View_and_Projection_matrices).
Alternatively, I could write up an introduction to some of the relevant arithmetic.

##### 2. OpenGL description
I tried to give a description of the differences between Modern and Legacy OpenGL, to illustrate the motivation for choosing Legacy OpenGL. I'm afraid it's a rather dry section. Do you think it's necessary to keep it? Should I move it to a different point in the chapter?

I'll continue to iterate on the chapter; please let me know if you have any suggestions.
Thank you very much!

It was very clear to me in this section that GLUT was going to notify `Interaction` of events that are trapped by the OS. What was less clear is that `callbacks` was handling an alternate event stream at the application level, where the events are being explicitly fired by code inside this application. Why did you decide to have one class handle both types of events? Was this an explicit design decision, or did the code just kind of end up here? Are you trying to hide the event sources behind one interface to make it easier to reason about how the system works?