Greatly improve particle system

improve particle class
add smoke particle class