Refactored Particle Engine

The particle engine is just a particle class and particle emitter
interface. I will be deriving different particle emitters based on the
effects I want.