Simplified raycast API

* Added World.rayCast function, taking a RayCast object and the start
  and end points for the ray.

* Removed RayCast.point1, RayCast.point2, RayCast.world, RayCast.repeat
  and RayCast.running. All these properties can be trivially implemented
  on the QML side.

* Renamed RayCast.result to RayCast.maxFraction

* Renamed RayCast.onCast to RayCast.onFixtureReported

* Adjusted raycast example accordingly
Merge pull request #57 from bjorn/simplify-raycast

Simplified raycast API
Fixed compile

Broke after merging in two incompatible pull requests.
Added profiling of synchronization and signal emission
Reintroduced qFuzzyCompare for synchronization

Avoiding updates to body position and rotation when the change is very
small seems to reduce the synchronization time significantly when there
is a large amount of awake bodies.