Prefer conditional compilation to type-parameterization.

This puts an end to the omnpresent generecity of ncollide.
Instead of passing the N, V, LV, M, and II type parameters (designing
the scalar type, vector type, linear velocity type, angular velocity
type, transformation matrix type and inersia tensor type) to every data
structures and traits, they are defined as type aliases. The proper
type aliases are selected by two compile-time flags (--cfg):
        − `--cfg dim2` will compile the library for 2d collision
        detection.
        − `--cfg dim3` will compile the library for 3d collision
        detection.
        − `--cfg f32` will compile the library using 32-bit float as
        the scalar type.
        − `--cfg f64` will compile the library using 64-bit float as
        the scalar type.

Several `lib.rs`-ish files are provided and should be compiled with the
proper flags.

Doing this makes the compilation of the library a bit trickier. However
this reduces a _lot_ compilation time and memory consumption during the
compilation of user application. This is because nothing from ncollide
has to be specialized during the compilation of the user application.
This makes ncollide actually usable on current personal computers able
to compile the Rust compiler.