Add support for file input fields

Uses `FormData`, if available, else it falls back to the current way of handling fields. I also added a check to see if there were file fields present (when falling back to old way of handling) and exit if so (to let the browser handle them properly).

Fixes #225
This needs to be `type != 'GET'` since the form might be PUT or PATCH as well. I know that browsers don't support non GET/POST methods yet very well, but just in case they do.