Resource joint work

* Switch to RevoluteJoint as it is more configurable
* Make CollisionSensor return Optional<Vec2>