Refactor|Renderer: Unrolled all logic applying the sector lighting model to Shards

Lets handle this a bit differently. Lighting vertices by passing all
terms into a single function call on each is an awkward bottleneck.
It is better all round if lighting terms are applied in "passes",
using the vertex buffer as a staging area to accumulate contributions
from multiple light sources.

As Shards are moving to a static model, lighting the geometry at the
time the geometry is built makes it necessary to rebuild it whenever
any of the lighting terms change.

By doing it this way, each lighting term can be applied at different
stages in the pipeline and tailored accordingly (if no knowledge of
the map constructs are required for a given term - it can be applied
post construction to the existing geometry).