Merge pull request #15 from MaikKlein/master

Fixing vec2.perp_Dot and vec3.angle
Use macros and higher-order functions to reduce code repetition
Move Dimensional trait and dimensional macros into separate files
Remove duplicate Dimensional trait definition
Rename macros file
Add types from cgmath
Merge vector and matrix source files