Bump dependency versions
Use a factory function for Vec2D

I've learned from reading Clojure Programming that this is preferable to
other modules calling the default (Vec2D. x y) constructor directly.