Particle-vortex duality