fix startup segfault

This patch fixes a startup segfault in free orion.  If there is no shader, FO creates an object with a NULL shading programming.  Binding a variable to this NULL shader will cause a segfault on AMD.

The fix keeps the shared pointer null if there is no shader.