Projections

Not ready.

Just a start at projections of path-like things. I'm still working things out and open to suggestions.

- [x] Added `LinearMappable` class
- [x] Added `AffineMappable` class
- [x] Added Matrix functions
- [x] Add common orthographic projection functions
- [ ] Add projections from `Camera`s
- [x] Perspective projections using `Deformable`


Can you explain the naming convention here?  Also, up and forward shouldn't be the same direction.