I have a few ideas on how to implement this type of functionality myself, but I need to find the time to implement them :/

My idea, is that if the computer can't do the calculation in time, then it just gives up and defaults to a CAPTCHA instead. This allows users on even seriously junky hardware to bypass the block, albeit at the expense of needing to answer a CAPTCHA.

I don't think this sort of thing should be used as a first line of defense though. There are less problematic ways to block the majority of spam than this. I'd use this sort of technique on top of a bunch of other methods as a last line of defense before resorting to forcing a CAPTCHA on everyone.