Use Huffman algorithm for hints generation (fix #112)
The Huffman algorithm is now used to generate optimal prefix codes for all
focusable elements. The area of each element is used as _weight_. The
higher the weight, the shorter the hint.
Note:
The old algorithm seemed to give shorter hints to `<a>` elements. That is
currently not the case with the new algorithm.
Other related changes:
- Change minimum allowed number of hint chars from 3 to 2, since the new
algorithm supports it.
- Change default hint chars, since with the new algorithm the best keys
should be at the beginning of the string.
- My editor is set to strip trailing white space. Apparently there was a
lot of trailing whitespace in many files, so a diff of this commit is a
bit messy.