SVG/VML vs Canvas vs HTML - Mobile
===

I am looking at building a fairly simple map (I'd say maybe 100 objects) that are shown/changed color and have onclick (mobile) mouseover (desktop) events that show another object. I am looking at the following.

1. Canvas
2. SVG/VML
3. JS/HTML

But my problem is I need to somehow support

1. IE (7-10)
2. Chrome
3. Firefox
4. Blackberry 6-7
5. Windows Mobile 7 (IE9)
6. iOS
7. Android 2.3+ (no svg)

And I can't seem to find a single system that could support all of those, Android doesn't support SVG, Mobile browsers seem to be very slow with canvas, IE 7-8 doesn't support canvas, HTML doesn't support "shapes" without the use of images, and would require swapping images, which would be not very good visually... yada yada yada...

Is there any idea how I could build once for all of these? I was thinking it may be better to do Canvas (mobile) & SVG (desktop). But upon testing mobile it seems that canvas is massively slow.

Is there any libraries or systems that may help?