I was roughly imaging something like Evan Cordell's demo (which he helpfully linked to:
https://github.com/ecordell/macaroon-session-example/blob/master/README.md), in the context of a web application.
Basically, (assuming SRP) I imagine that the user "log in" process would be fairly usual; the iframe would capture the username and password, and make the username and the initial client side component of the SRP exchange available to the main application.
The application would request macaroons with the username/srp pair, and the server would return a macaroon that required a discharge, identified with the server's part of the SRP exchange. The app would hand that to the iframe for discharge, which would discharge in short expiration using the SRP session key. To maintain the session, the web app would continue to request discharges on new requests from the local iframe.
I'm concerned somewhat by the fact that this omits the final proof of key steps, which would make the exchange vulnerable to someone masquerading as the server; if it's conducted over TLS, though, that seems like it might be mere handwringing, and if it's not, I don't know that it's that much of a win.
Alternatives to SRP all seem to require more exchanges in the protocol - which I suppose could be accomplished with a kind of mutual discharge solution (I imagine the client application as Sam Lowry in Brazil, going from desk to desk to get the appropriate stamps on his documents), which might also nicely incorporate various timeouts to the session: the server's discharge would limit the overall session, local discharge would limit the current macaroon.
Judson