Previously fluid simulation and Alembic modifiers had a dedicated function
to query the velocity for motion blur. Now use a more generic system where
those modifiers output a velocity attribute.
Advantages:
- Geometry and particle nodes can output velocity through the same mechanism, or read the attribute coming from earlier modifiers.
- The velocity can be preserved through modifiers like subdivision surface or auto smooth.
- USD and Alembic previously only output velocity from fluid simulation, now they work with velocity from other sources too.
- Simplifies the code for renderers like Cycles and exporters like Alembic and USD.
This breaks compatibility:
- External renderers and exporters accessing these velocities through the Python API now need to use the attribute instead.
- Existing modifier node setups that create an attribute named "velocity" will render differently with motion blur.
Note USD does not currently support velocity import, likely it's a bit easier
to add on top of this patch.
