More strict rules on anchor character input

only alpha numeric chars and dash and underscore can be used in anchor names, and that they don't start with a number (because anchors are used as HTML ID attributes).
Currently utf8 is supported as we only enforce an a-z char for the first char, and anything goes after that. But that means we are currently breakable as adding any strange characters or utf8 will not be supported by our javascript highlighting script, and in some cases even the anchor link cn be broken.

So to fix all that, I just need a direction to go with this PR: yay for utf8 support or not?