Assertion macros for approximate equality

For sake of readability and consistency with the standard library macros
assert! and assert_eq!, the macros assert_approx_eq! and assert_approx_eq_eps!
have been implemented based on the ApproxEq trait.

Upon failure these macros yield readable error messages including the input
values and the tolerance (epsilon) used to determine their approximate
equality.

Resolves #131.
Update README.md to reflect item name changes

There were some outdated names presented in the readme. Fixes #128.
Use Cargo to run the benchmarks

Naming the benchmark folder benches instead of bench lets Cargo run the
benchmarks one by one like the test suite. The directory structure was modified
accordingly also getting rid of the now superfluous files.
Adapt Travis CI integration to benchmark change
Merge pull request #133 from aepsil0n/readme_update

Update README.md to reflect item name changes
Merge pull request #132 from aepsil0n/approx_eq_macros

Assertion macros for approximate equality
fail! -> panic!
Merge pull request #136 from tomaka/master

fail! -> panic!
Removed constraints on ortographic projection function to allow bigger values for left, bottom, near than right, top, far.
Merge pull request #137 from Darkspear7/master

Fix for orthographic projection and removed constraints on input
Merge branch 'cargo_for_benchmarks' of git://github.com/aepsil0n/cgmath-rs
Improve the benchmark suite.

As a side effect, this adds `Rand` deriving to the benchmarked strucures.
Merge pull request #138 from sebcrozet/master

Add more benchmarks.
Update for rustc 0.13.0-nightly

There are still some deprecation errors in the doc tests left
Merge pull request #139 from bjz/update

Update for rustc 0.13.0-nightly
update to compile on nightly
Merge pull request #140 from mrannanj/master

update to compile on nightly
Replace deprecated std::num traits

These traits are akin to the deprecated standard library traits (Zero, One,
Primitive) to keep everything running as before. However, for the long term a
better algebraic abstraction should be used/provided.
Type-cast a vector component-wise

This allows one to e.g. cast a vector of f64s to an equivalent vector of f32s.
More generally this is allowed for arbitrary NumCast types.
Merge pull request #142 from aepsil0n/vector_cast

Type-cast a vector component-wise