Merge branch 'release-0.4.8' into develop
Use element.classList instead of custom helpers

Remove `utils.addClass()` and `utils.removeClass()`. Use
`.classList.add()` and `.classList.remove()` directly on the elements
instead.

My editor is set to strip trailing whitespace, which it did. So a diff of
this commit is a bit messy.
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.
Merge pull request #133 from lydell/develop

Use element.classList instead of custom helpers
Fix frames handling

Every frame got the same hints as the others, basically. Now
`Marker.createMarkers()` does not give its markers any hints anymore.
Instead, all markers from all frames are collected in `injectHints()` and
then given markers. I am not sure how good/nice the solution is, but it
works.
Remove unnecessary semi-colons

Trailing whitespace was also removed by my editor.
Remove chrome.coffee

- Remove chrome.coffee, which added Cc, Ci and Cu globally.
- Add definitions of those in files where needed.
- Fix consistent formatting of their definitions.
- Fix consistent placement of their definitions: after reqiures. Includes
  cleaning up the requires sometimes, involving alignment.
- When fixing alignment of requires I couldn't help but to also fix
  alignments in other places.
- Trailing whitespace was also removed by my editor.
Consistent use of parenthesis

Functions pretty much always use parenthesis, unless:

- The last argument is a function literal
- The function call is multiline for some (other) reason
- The specific case makes it less readable with parenthesis
- The function is `require`
Consistently use ' instead of "

The single quote was used most of the time before. Now it is always used,
unless double quotes are needed for interpolation.

A few other, minor consistency errors was also fixed.
Add German locale
Merge pull request #135 from lydell/cleanup

Cleanup
Merge pull request #137 from ctype/delocale

Add German locale
Updated Polish translation
Added missing parenthesis

Note that even functions whose last argument is a one-line function
literal have parenthesis now.

How to do with functions whose last argument is a multi-line function is
not settled yet. Neither is whether `require` should have parenthesis.
Fix new coding style
Merge pull request #140 from lydell/cleanup

Added missing parenthesis
Merge pull request #138 from grn/develop

Updated Polish translation
Merge branch 'develop' into huffman

Conflicts:
	extension/packages/events.coffee
	extension/packages/hints.coffee
	extension/packages/marker.coffee
	extension/packages/prefs.coffee
	extension/packages/utils.coffee
Use 2 space indentation in huffman.coffee

Just like all other files.
Added Greek localization