Refactor drawing ops, add drop shadow.

All of the drawing operations now take place in a 'BadgeImage'
class, instead of being baked into createBadgeIcon().

There's now a proper 'drawRect' function, so drawing the badge
background is a lot cleaner.

I'd still rather have a way to render SVG to an imgIContainer,
though...