Some more advanced AST fiddling using UglifyJS

- Remove repeated top-level "use strict" directives.
- Remove repeated top-level "var libjass" statements.
- Remove unused variables, unused functions, and terminal unused function arguments.
- Mangle private members.
- Correctly detect the first license header to preserve.

Resulting minified script is 5% smaller than before.