Linuxvm Compatibility

- Creates a dummy for whatever and whyever mesa wants
- Switches to mesa software rendering if context creation fails (linux only)
- Ports shaders down to GLSL 130, seems to work
- Fixes inverted controls
- Adds some gitignores
- Makes skybox a unique_ptr