Modern web apps need a fat client. But moving everything to the client, with the server as a thin API, doesn't usually work in practice. The backend needs business logic to enforce data integrity, that means you need your models server-side as well, and you often end up wanting server-side HTML rendering for one reason or another. That leaves you fighting against having both a fat client and a fat server.
I'm hardly the first to be thinking along these lines. Nothing's quite there yet, but I'm confident it's the next step in the evolution of web frameworks. For Clojure, Noir, ClojureScript and handlebars-clj might be good components to start with.
Regarding the design of such a framework, we can build on existing tools to help. CoffeeScript and SASS would be great intermediate languages for the compiler to target. And by bundling existing JS client libraries, like jQuery, Backbone, or mustache, we can increase the surface area we're compiling to.