Merge pull request #38 from bjorn/master

Somewhat random list of changes
Changed 'qmlviewer' to 'qmlscene'

The readme is of course in need of an update, but for now I'll just make this quick fix.
Changed another 'qmlviewer' to 'qmlscene'
Added check against Joint.bodyA and Joint.bodyB being equal

They are not allowed to be the same body, see assert in constructor of
b2Joint.
Fixed issue with setting b2Joint::userData

The userData was always ending up as 0 and causing a crash on exit,
because the b2JointDef constructor was running after setting the
userData pointer. I broke this in change 929198b2d0ce48f5c98b470f8.
Added World.autoClearForces and World.clearForces()

When autoClearForces is set to false, the user will have to manually
call clearForces() when it is desired that forces are cleared.

Also made the World.step() function invokable from QML, in case somebody
would want to manually step the world after setting World.running to
false.
Create the b2World in Box2DWorld constructor

Avoids some if conditions and allows directly using the b2World instance
for storing its properties.
Merged Box2DDestructionListener into Box2DWorld

No need for signal connection and simpler in general.
Made tbe b2World a direct member of Box2DWorld

Doesn't need to be a pointer member.
Added property group to access profiling information

Could be useful during development.

This is only the raw profiling information collected by Box2D itself, it
does not include the overhead of qml-box2d. It would probably be
interesting to measure also the synchronization phase.