It's part of the Dataform module. The module is available from the plugins repo and from git and supports all Moodle 2 versions.
The spec for the notifications support is not publicly available but the feature will be documented as soon as it's implementation is completed.
The approach is somewhat different from what you describe above. For instance, your proposal seems to constrain all entries in a given activity to one workflow by assigning the workflow in the activity level (mdl_data, Add: workflowenable, workflowid).