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.
re-create fixture shape in the case of position changes
allow change collision filtering  without fixture re-creation
fix access violation during disposal of nested bodies
Merge pull request #22 from ElderOrb/collisionFiltering

allow change collision filtering  without fixture re-creation
Merge pull request #26 from ElderOrb/accessViolationFix

fix access violation during disposal of nested bodies
Improve DebugDraw item
Fixed positioning support for Circle fixture

The x and y properties of the Circle fixture were being ignored
since change 272a3207fc8e71c67c3a08b3727db057bdecfab6. This change
makes it so that they are being taken into account again, while still
shifting the b2CircleShape to center in the Circle fixture item, at
least when it has its default size.

Instead of setting the width and height explicitly, the implicit
width is now set based on the radius.
expose angularVelocity to QML
Merge pull request #31 from ElderOrb/recreateFixtureShapeOnPositionChanges

re-create fixture shape in the case of position changes
Merge pull request #19 from bjorn/master

Some improvements related to fixtures
Merge pull request #23 from ElderOrb/angularVelocity

expose angularVelocity to QML
Merge pull request #29 from folibis/debugdraw

Improve DebugDraw item
Removed unnecessary check in Box2DBody::at_fixture

We should assume this function will not be called with index out of
bounds.
Box2DBody fixes and optimizations

* Inlined all getters for properties that are never changed dynamically
  by Box2D to return the value from the b2BodyDef.

* Fixed the value of the 'awake' property, which was always returning
  the value in the b2BodyDef because of a missing 'return' keyword
  for the case where the body was created.

* Changed type of linearDamping, angularDamping and angularVelocity to
  'float' to match the Box2D variable they are stored in.

* Fixed Box2DBody::angularVelocity to return the dynamic value when
  appropriate, which might have changed from the b2BodyDef value.

* Fixed Box2DBody::setAngularVelocity to not compare the degree variable
  with the radian variable.

* Don't do a qFuzzyCompare in Box2DBody::setGravityScale. There is no
  reason why the gravity scale shouldn't match exactly.
Fixed conversion of mass

Mass is per square meter so the scale ratio should be squared as well.
Simplified initial registration of bodies

No need to put them in a list first.

I do find the support for bodies that are not direct children of the
world a little problematic. Apart from coordinate system issues,
currently also the world only notices the addition and removal of bodies
that are its own children. When a body is deeper down in the hierarchy,
it is registered on initialization but it will fail to do so when added
dynamically.