[24 May 2019: A year after I wrote this post, Global Consent Manager an indirect descendant of the work described below, is in the world and doing the job. Check 'em out.]
The web—or at least the one we know today—got off on the wrong hoofs. Specifically, I mean with client-server, a distributed application structure that shouldn't subordinate one party to an other, but ended up doing exactly that, which is why the web today looks like this: