Fixes #159

Adds many many more file types and does a much better job of dealing with different mime types.

This will be an ongoing issue, but I think it's good enough to close this issue for now.