The proof of work idea seems interesting. You wouldn’t even have to wait for WebCL support in browsers, since bcrypt could be used as the hashing algorithm, which doesn’t see the ridiculous increase of speed on GPU hardware that, say, the SHA-* hashing functions do.
I can’t imagine that you’d need a very large proof of work to make spamming unprofitable (this would have to be looked into). And most people probably spend 10+ seconds to write a reply, so the user wouldn’t even notice it being calculated on a web worker in the background.
Edit: This would be similar to Hashcash, which uses a proof of work to try and solve email spam. See the presentation Proof of Work - Proves not to Work, particularly the Economic Analysis sections. Also here is the original paper.