Add Vector, Path and Bezier

Vector: an interface with common methods that both Vector2 and Vector3 implement for creating more general math classes. Only had to implement Vector2#mul(Vector2) for this, although it might be nice to also have #crs method.

Path: Simple general interface to seemlessly walk trough some path/process/whatever from 0 to 1. (perhaps there's already such a class i'm not aware of).

Bezier: Simple class to calculate first, second and third degree bezier curves which also implements Path. If you like I can also add b-spline and perhaps modify catmullromspline a bit to also fit for path.

Bezier shows the use of having a general Vector interface, it makes the following possible:
```java
Path<Vector2> path2 = Bezier<Vector2>();
Path<Vector3> path3 = Bezier<Vector3>();
```

I also added a test to show the usage.