I don't really know what the fuss is about since the simplest solution is the most obvious one. Masking should be optional, it should be enabled by default and controlled by the checkbox next to the entry field.
Ick. Since you don't see what all the fuss is about, you're going to put another doodad between your user and conversion. Ask an online business that does any sort of volume at all: this is bad.
Web forms are where the usability rubber hits the road online. When adding an item to your form you should always be of the mind set that this extra step (optional or not) will lose you conversions, but you have to have it because of X. This forces you to justify placing item X, which in this case is the unmask password option. Is having an option to unmask the password field going to gain you more conversions than not? I have no data, just anecdotes and experience, but those all tell me no.
Putting a check box next to the entry field is putting GUI decisions on your user because you can't figure it out, and it will lose you conversions.
EDIT: Re-reading this it sounds like personal attack on the OC. It's not. I'm using the universal you.
checkbox? if the broswer implements it you dont need a checkbox (icon in the field, menu option, context menu option - plenty of neater ways to implement it than a checkbox)
That button isn't tiny, and is in fact very obtrusive. It makes creating designs and layouts hard enough as it is, and the file dialog isn't even used very often.
I'm pretty sure you can implement something like this on the web with some simple javascript, dynamically changing the input type from "text" to "password" and vice versa.
Or you can put this option in menu or status bar or whatever.
By the way, I don't understand your complaints about design and layouts. I've never had problems with designing forms. Maybe this is because I didn't try to replace native controls with some uber-fancy things? (which is a good thing)
...thereby breaking the semantics of the password input type. If it's going to be changed by Javascript, it should be a CSS style called "masked" or something.