particle-engine: Remove unused funcs and vars
particle-engine: Add a priv struct

The idea here is to better distinguish between the internal state
variables and the user configurable settings. For the purposes of this
demo, the difference is largely superficial, but in a 'real world'
scenario where object orientation is an objective, this priv structure
would be opaque and inaccessible to the end user (i.e., declared in
particle-engine.c).
particle-engine: Add documentation to config variables
particle-engine: Rename some variables for clarity
particle-engine: Add a variance_type enum

This will be used in future iterations to control the style of
randomness used when determining values for properties which have a
variance associated with it.
particle-engine: Implement particle lifespan variance
Abstract variance logic into separate source file
Add a vector_variance type
particle-engine: Use vector_variance for particle positions