Clean up a bunch of weirdness in convert2video.

- Check filesize before doing the work to convert to a buffer (yes, I'm
  aware this changes the checked filesize by about 10 bytes, but I'm
  pretty sure we don't care).
- Ensure that file cleanup is always done and won't be accidentally
  forgotten in a future commit.
- Don't create error/finish listeners in a loop, since they're always
  the same anyway.