Start wrapping the FreeImage Library

I'm still in shock at how easy this was. Go is amazing.
Consistify the names in default_unlit shaders

Going to go with camelCase variables in the shader code.
Refactor material and shader loading into their own object

Graphical was taking way too much responsibility, loading meshes,
materials, and shaders, and keeping track of which is linked to what
visual, etc. I started adding Textures and realized this was now
unweildy and moved the logic out into their own units.

Graphical is now *much* simpler, and while has some logic still on
loading, it's more of a proxy to the renderer instead of actually
keeping track of the loading process. There's a nice side effect now
that setting up an Entity is now a no-op.

Another lesser refactoring done here is to split up Material to Material
and MaterialDefinition. I want a structure that defines what the
Material is, letting the system figure out how to build such a thing.
Keeping this logic inside of one structure was also getting unwieldy
adding Textures.
Start Texture loading and OpenGL processing of textured meshes