the loader class now compleatly uses exceptions instead of return statuses (what was i thinking)
adding png loader, will probobaly use libpng