As far as that new tool you're describing, for my purposes it doesn't make much difference whether it's a stand-alone application or a command, though a command is a little more convenient. The ability to free space concurrent with other database operations would be nice, but I feel like the introduction of serialization failures would negate that advantage, since I at least would end up running it non-concurrently to avoid dealing with them.
I actually find the current design of VACUUM FULL reasonable enough, if I could figure out what's causing this memory issue and prevent it from happening.
David