Float ALL the doubles

Solves issue #57. 

There are unsolvable cases though, e.g `cv::arcLength()` returning always double. 

One serious issue that I wasn't able to solve is that `cv::solvePnP()` returns double (i.e `CV_64F` typed `cv::Mat`s) in output arguments `rotation` and `translation`. When forced a `cv::Mat` of `float`s, it throws:

```
OpenCV Error: Assertion failed (mtype == type0 || (CV_MAT_CN(mtype) == 1 && ((1 << type0) & fixedDepthMask) != 0)) in create, file /home/equilibrium/src/opencv/modules/core/src/matrix.cpp, line 2243
```

It seems that really didn't think some parts through. So for now, I'm just converting to `float` during transform matrix filling.