Mostly you are proficient in JavaScript and would like to employ it, if I understand correctly. If you just drag an drop a file into the window, the DOM and rendering step incurs great overhead, in your case even leading to premature application termination.

You can use JavaScript standalone. 
So you could use either use

- [node.js][1], [Rhino][2] or  
- the Browser's `FileReader` API and a simple REST Endpoint

You should be able to effortlessly open GB sized files in a `FileReader` object, with the caveat that the following approach is not the best performing. Then in a loop you would read blocks of say 5MB into memory, process these and push these to a webserver (ideally at localhost/ You could use a simple php script for that (name it `index.php`). Something like:

    <?php file_put_contents("outfile".date().".tsv", implode('', $_POST); , FILE_APPEND); ?>

Note: You should probably do some filtering on the `$_POST` variable first.

For an hands-on example of the File-Reader see this [project][3], and look up the [MDN Reference][4] for more information.

Good luck.