fix gtk errors on open / save dialogs
make all dialog boxes transient for parent window
change shaders to use structs, some cleanup
add error checking for uniform lookup
reorganise lighting

separate point & directional funcs
fix cursor lighting

move per-frame uniforms to start of draw rather than as-needed where they were
duplicated and skipped
restructure lighting objs to match shaders
pass context settings to SFML window create func

note that a bug in current SFML ignores the request, but it
may work in the future