Store the particle state in iterators instead of the particle system.
Collection property for accessing the attribute states in a particle
state.
Unused RNA code for exposing particles directly in the state as a
collection. This doesn't work atm because for lookup it would need to
allocate a particle iterator, which can not be freed afterward. This
can probably be done nicer as a pure python wrapper instead of RNA.
Alternative particle iterator init method using a specific particle ID.
New function for adding a particle based on particle id.
Fixed the particle attribute state data access functions. These have to
use an index as key rather than a particle ID, since the latter is not
available in a single attribute state without access to the parent
particle state.