That’s looks great!
My only suggestion would be checking for a false value (even though it’s the default if the setting is omitted) in api-template.php on lines 1386 – 1401 using something like this:
if( !empty( $args['wrap_field_groups'] ) && $args['wrap_field_groups'] !== false ){
...
Otherwise passing a value of false would still cause the wrappers to be output.