I mentioned this in IRC already, but I'm not really sold on having vector objects in a LÖVE module implemented in C. It'll nearly always be slower than a pure Lua (or Lua+FFI) solution when using LuaJIT, there are good pure Lua vector libraries out there already, and having vectors integrated into LÖVE's API raises questions about whether the rest of the API should accept vector arguments and use vector return values.
Some thoughts on the actual code (I also mentioned most of this in IRC):
You could probably make a LuaVector class in the math module which inherits from both Vector and Object, instead of making all of love's internal Vectors be Objects.
I like the names newVector and Vector much better than newVector2d and Vector2d. LÖVE is already a 2D framework, so the dimensionality of the vectors is already implied there - and if 3D vectors are ever wanted, things can always change when that bridge is crossed.
You could have default values of 0, 0 for the x, y arguments of newVector.
There should probably be a way to set the x and y components of a Vector after it's been created.
I agree with most of the comments about the metamethods - special vector metamethods should mostly only be used if they're obvious, IMO.
I think some functionality is missing, e.g. it might be nice to be able to easily add a single number to both components of a vector.
Of course, the above points don't invalidate my first paragraph. :)