rewrite code to crop a long file name
fix about application path

* can use '/' as a path separator
* remove useless escaping of a special directory
* overwrite a path property with a valid |nsIFile::path|
fix about application argument

* set the default value to a empty array
* escape a path separator of URL to surely pass to an application
remove unicode converter for UI display

* |mozIJSSubScriptLoader::loadSubScript| with a charset param 'UTF-8' can well
  convert embedded unicode characters in a script file
* if the characters are corrupted by another |userChome.js|, set a meta data
  |@charset utf8| in a script file and might be fixed (but I have not tested)
remove unused component id

* forgot to add to commit: a4500e7
minor fix

* use |let|, |const|
* use the arrow function
* edit comments
* formatting
improve wrapper function of |createElement|

* support a custom handler of attributes
* use this wrapper to create an element even if without attributes
create wrapper of |getElementById|
minor fix: add TODO comment
name the anonymous function on the modifying of built-in function

* the name is helpful to debug