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.