Before getting into code review or looking into details I'd like to see example uses cases for this modifier.
Otherwise we could:
- Postpone until nodal modifiers are supported.
- Make this an optional post-process for the decimate modifier. -----
All BMesh operators _could_ be made into modifiers, however the modifier system isn't designed for constructive modelling (at least not with many fine grained operations).