nixos: iso-image: use syslinux bootloader for USB booting support

This changes the bootloader for iso generation from Grub to syslinux. In addition this adds USB booting support, so that "dd" can be used to burn the generated ISO to USB thumbdrives
instead of needing applications like UnetBootin.

Most of this is based on the ISO generation methods that is used for ArchLinux.
It might even be a good option to just remove those, but I don't know whether this needs to stay compatible with other nix configurations. I can't think of any good use-case where you'd want to disable EFI or USB support.