UI: ship gfx optimizations

Various optimizations to ship gfx to modularize update operations
so that only the necessary data is updated when it is needed

This wraps up the majority of the base entity perf updates, there
are a couple TODO's that should be resolved including that around
optimizing orbits

Tests have been updated to continue working but new tests have
not yet been written verifying new functionality