renamed bmp structs to not conflict with windows.h
renamed bmp structs to not conflict with windows.h
minor cleanups
separate file checks for each filetype
added get_extension