Added accessibility. Fixed icon attribute.

Icons did not have an alt attribute which means users on screen readers would not get the same information.  For uniformity, I created a new attribute, 'languageLong' for the alt attribute.  In a final implementation, the user will need to add any arbitrary string depending on their intended use. For instance, if the flag is the UK flag and they intend it to refer to the UK, then they should be able to put "United Kingtom" in there. But if they intend it to mean "British English" then they can enter that.  The language/ languageLong attributes are a little misleadingly named, but at least it consistent.

Also, I fixed the 'icon' attribute.   Reading the code, it seemed as though `icon=false` is supposed to disable (remove) the icon. If that's the case, the way you had it basically meant that *any* value of `icon` would remove it. So, I fixed that.