Hi Aaron,
Thanks for the beer!
If you'd like to submit it and are willing to contribute it under the CPL, then I'll certainly agree to review it for inclusion.
I would build it so that it stored the images at /Data/Sites/[SiteID]/useravatars/
and name the images using siteUser.UserGuid.ToString() + ".png"
Then we would only need a new bit column on the user table where we would keep track of whether the user has uploaded an avatar or not so we can show a placeholder image if not. I could do that part easy enough.
Ideally it would resize the uploaded image according to setttings, you could just use Web.config settings for now for width and height and I could later optionally make site settings for those preferences. There is already an ImageHelper class that I think can do the resizing.
Something else that just came on my radar in relation to this is that the new version of google gears has some functionality that can be used to upload images by drag and drop and easily create thumbnails. Wouldn't want to require google gears for it to work but its something that could be layered on top later so that if gears is installed the user can have a better experience. Just and idea for a cool future enhancement.
Best,
Joe