Add frustum constructors and use to implement Projection->Frustum conversions
Clean up usages of std::num::cast
Rename Mat{2,3,4}::ident -> Mat{2,3,4}::identity
Use .fold for comp_min and comp_max