Restructure crates and modules, add basic gfx/shader implementation