(Nearly) all the shaders

Code in repo now uses a struct for its inouts, shows the #pragma include (and, pointlessly, #pragma once), uses explicit locations for inouts, can create n triangles, and is in general just a bit cleaner.