Reworked Vector3 implementation

As described in the title: Reworked Vector3 implementation. 
- Removed unused code.
- Wrote tests.
- Fixed some compile bugs.
- Added Vector3::normalisation() method.