Ensure a failed material load gets the default shader programs

Forgot to make sure that we were loading the default vertex and fragment
programs into the material if it's own programs weren't found.
Set default resolution that works nicely on both screens

The bigger resolution was creating a skewed window and picture on my
laptop vs external display so drop this down a notch.
Add Position to Transform, make Components easier to get at
Add GetVisual for accessing the Visual component

Moved the TestHolder into its own file, named with _test to keep it out
of the main package build (I think that's how go works, not 100% sure).
Render more boxes to start implementing Entity positioning
Update GetComponent calls to use Get[Component] instead
Move render-specific logic into the render package

Was feeling wrong to keep adding so much render-based logic into the
core of the engine. Pulling it out to it's own package to see how that
progresses.
Transform components can calculate their final Transform Matrix

Right now it only does translations according to the Position but will
soon have Rotations and Scaling as well.
Move to a RenderQueue / RenderOperation setup

The overall structure I want here is to build up a structure of objects
(here named RenderQueue, which has many RenderOperations) that define
everything to be rendered for the next frame. Then this object can be
thrown at the renderer implementation and nothing else needs to be done
on the app side, letting game code tick over once again.
Update OpenGLRenderer with the latest changes

Mesh and Material are under the render package and updated the main
Render routine to deal with RenderQueues / RenderOps.
Add more cubes to the game and spread them out

The app now shows off the ability for meshes to be transformed on their
own!
Windows are now responsible for knowing the per-frame time

Went this way as GLFW includes a high precision timer that gives me
seconds in float, whereas Go's "time" package only works on ints and
nanoseconds.
Make one of the boxes move over time

This shows that editing a component per frame does get propogated down
to the renderer.