Correct positioning and shading for meshes

* Make sure positioning of meshes is correct with respect to world
  coordinates.  Use float32 positions for storage efficiency, coupled
  with an offset for large origin displacements.

* Fix mesh face shader to provide a simple lambertian lighting with
  faceted normals for ease in debugging meshes.
Allow meshes to be loaded via gui

* Clean up to do allocation and manage mesh lifetimes correctly
* Connect up File->Open to mesh loading functions