New Particle System

DO NOT MERGE.
for review.

Defined some classes that can be used for particle:
Graph<T>
LineGraph<T>
BezierGraph<T>
LineBezierGraph
Gradient