[breaking-change] Make the type aliases generic wrt. the scalar type…

… and remove the `2d` and `3d`-sufixed aliases.

They produced too many type aliases, that may confuse the user, complicates the implementation, and
would make it difficult to extend the library for future the f128 type, or even fixed point math.

For example, instead of using: Cuboid3, use Cuboid3<f32>.
For example, instead of using: Cuboid3d, use Cuboid3<f64>.