We're building a web-based application that requires heavy image processing. We'd like this processing load to be on the client as much as possible and we'd like to support as much platforms (even mobiles) as much as possible. 

Yeah, I know, *wishful thinking*

Here's the info:

1. Image processing is rasterization from some data. Think like creating a PNG image from a PDF file.
2. We don't have a lot of server power. So client-side processing is a bit of a must.

So, we're considering:

1. Flash - most widespread, but from what i read has lackluster development tools. (and no iPhone/iPad support for now).
2. Silverlight - allows us to use .NET CLR, so a big ++ (a lot of code is in .NET). But is not supported for most mobiles ( rumored android support in the future)
3. HTML5 + Javascript - probably the most "portable" option. The problem is having to rewrite all that image processing code in Javascript.

Any thoughts or architectures that might help?
Clarification: I don't need further ideas on what libraries are available for Silverlight and Javascript. My dilemma is

* choosing Silverlight means no support for most mobiles
* choosing Flash means we have to redevelop most of our code AND no iPhone/iPad support
* HTML5 + Javascript we have to redevelop most of our code and not fully supported yet in all browsers
* choosing two (Silverlight + Flash) will be too costly

Any out-of-the-box or bright ideas / alternatives I might be missing?