Vector Support

This was meant to be just for vector files' support, but some of the key items covered in this pull request are much beyond that.

* Better UI/UX
* Shift to ImageMagick instead of Pillow/PIL
* Use of librsvg for SVG files
* Other random changes
This function can be replaced with Flask's `send_from_directory` function.