Rewrite PVector pretty much from scratch.

This unfortunately means replicating a bunch of code from PVector.java, but I can't
see a way around it.

Fixes https://github.com/jdf/Processing.py-Bugs/issues/67.

assert isinstance(PVector(1,2), PVector)