refactor upload js & html to always use only js to fill form data

This PR unifies the way we fill the form data we send along with upload requests. Instead of constructing the form data from the html form element it is now added in the submit hook. By default we send the requesttoken as well as the dir. The form data can be overridden by setting `data.formData` in a onsubmit hook. The public upload now uses that. This enables uploads in the pictures and music apps in the future.

Tested in chromium, iceweasel 17.0.8 and IE8

@DeepDiver1975 @karlitschek @icewind1991 @Kondou-ger please review.