Bullet, add userdata, use collisionworld instead of dynamics, implements some wrappers, add collision test

- Add userData to btCollisionObject (the collision objects are reused)
- Add directors for some already implemented nested structs
- Add btCollisionObjectWrapper (swig can be a real pain sometimes...)
- Update the tests to use btCollisionObject and btCollisionWorld instead of dynamics
- Add a basic btCollisionWorldTest which doesn't use dynamics, only collision detection.