Geometry primitives (basic linear algebra) for Rust
bors-servo Auto merge of #310 - servo:flatten-transform, r=kvark
transform3d: Introduce Transform3D::project_to_2d to flatten a transform

Need to use this for servo/webrender#3394.

The normalization of perspective is not necessary but Gecko does it as a
performance optimization, and ScaleOffset in WR wouldn't handle this.

See: https://bugzilla.mozilla.org/show_bug.cgi?id=1241161

But in any case I'm happy to teach ScaleOffset about that case instead if you
think it's better.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/euclid/310)
<!-- Reviewable:end -->
Latest commit 03f5a61 Dec 7, 2018

README.md