Used a QAbstractAnimation to synchronize stepping to frames

Until now a timer was used with an interval of 16 ms. While this
synchronizes with a 60 fps framerate most of the time, it will regularly
not match up correctly resulting in frames being skipped.

Now a QAbstractAnimation is used instead. Its 'updateCurrentTime' method
is called for each frame so it is perfectly synchronized, resulting in
perfect smooth animation (as long as the step can be done fast enough).

The 'frameTime' property is no longer needed and was removed.
Changed some defaults to the values suggested in Box2D manual

The Box2D 2.3.0 manual says "The suggested iteration count for Box2D is
8 for velocity and 3 for position."
Merge pull request #8 from bjorn/master

Smooth animation by synchronizing stepping to framerate
Added new class & events to access raw data of contacts
Added the example to test various types of contacts
Removed unnecessary forward declarations

The full definitions of these structs are already included with Box2D.h,
and is necessary because the classes are used as direct members.

This also removes a compiler warning with Visual Studio and Clang about
the class/struct mismatch.
Removed mGravityScale because it's already part of b2BodyDef
Removed unnecessary explicit calls to member constructors

They will be called implicitly exactly the same way.
Fixed many code style issues

* Member functions start with lower-case character
* Space in 'if {' and 'foreach {'
* No newline between 'if' and '{'
* Marked many getters as 'const'
* Removed some 'get' from getters, not Qt style. Exceptions I've kept
  are generally dynamically changing members that can't (easily) be
  turned into properties.
* Placement of space in 'Class *class'
* Space after commas in parameter list
Merge pull request #9 from bjorn/master

Some general cleanups
Merge pull request #10 from folibis/master

New Contact class (2)
Removed self-include from box2dfixture.h

Also removed some superfluous forward declarations.
box2d-static.pri update
Some fixes in Box2DFixture

* Fixed leaking of memory in case of putting vertices too close
  together, by using a QScopedArrayPointer to simplify cleanup.

* Fixed check on minimum amount of vertices for Chain fixture,
  which should be at least three for a looping chain.

* Some small coding style fixes.
Don't set previous or next vertex for looping Chain fixtures

Box2D docs say to avoid this. For a chain loop, the previous and next
vertices are automatically set as appropriate.

Also fixed the y coordinate of these vertices to be correctly inverted.
Moved vertices for Box fixture back on the stack

There is no reason why these temporarily calculated vertices should be a
member variable. It's faster to have it on the stack.
Improved Box2DBox::createShape

Use b2PolygonShape::SetAsBox, which should be a little more efficient
than setting the box as a polygon since it avoids a bunch of checks and
calculations.

Also, an initial rotation property set on a Box fixture is now
supported, though changes to it are not yet applied.
add possibility to recalculate mass based on fixture densities
add missing QuickItem::geometryChanged() call
re-create fixture shape in the case of position changes