Refactor mobile javascript to get rid of console errors.

Fixes also mobile bookmarklet services.

Basically:
* Went through the whole mobile app checking for console errors
* Extracted mobile file uploader to own file, since it's only needed in status message creation
* Made sure "main" JS does not need to be loaded in status message creation by including I18n JS directly, instead of having to rely on the rest of the JS to run
* Removed unnecessary duplicate loading of mobile.js on a few pages

I would have liked to move the inline JS to JS files and maybe reorganize a bit better so includes could be used- but I think that should be another PR. This fixes actual bugs, ie bookmarklet service icons have not been working for a long time.