Implemented file upload. Not only on <input type="file" /> elements.

It improves styling control for us developers in our file upload components.
An example would be:
```
<div class="drop-area" data-ng-show="dropSupported"
	data-ng-file-drop="onFileSelect($files)"
	data-ng-file-select="onFileSelect($files)"
	data-ng-file-drag-over-class="over">
	<!-- ... file drop template ... -->
	<p>Drop file or click here to upload</p>
</div>
```
Behind the scenes a `<input type="file" style="display: none" />` is created **and appended to the element**. It could be kept on memory, but it would make UI automated tests impossible.