Added dynamic shader loading. Added logging and a console window