Allow attributes to contain any letter at all (not just ascii)

HTML 4 used to require that id attributes be limited to ascii characters, but HTML 5 allows any valid character (see http://www.w3.org/html/wg/drafts/html/master/dom.html#the-id-attribute). It is desirable to generate id attributes that are not limited to ASCII. This patch makes that happen.

Sorry for the diffs on the whitespace; there are really only three lines changed here, plus the added test.