batch upload with images

This PR implements the batch upload feature with images. To upload a deck, place the images and the flashcard template in the same folder, zip the folder and upload it. In the template, the image values should be the name of the image files (including extensions).