I'm bad at "completing" projects, but I'm going to wrap this one up now. It's been a week since I started on this, and I think I've learned 80% of what I could possibly gain from it. Presumably, learning the remaining 20% would take another month, if the 80/20 rule holds.
There's a working system in GitHub, along with a few examples for anyone who wishes to experiment or move this idea forward in some way.
I'm reserving the right to re-open this should inspiration strike, and please comment or ask questions if you have them, but I'm going to mark this as my first completed project.