Dynamically load file extension icons.

If an icon does not exist, attempt to generate a basic image
to represent the file icon
Seperate file that didnt' get added to commit - that's now included