Added API for displaying particle effects.

Particle effects can be played to individual players and players near a
location. The Particle enum defines the available particle effects.
Particles can be displayed in groups with a spread, and some particles
make use of a MaterialData or an extra data float, which defines speed or
some other property of the generated particles.