Gouraud light color

<h3> Reason

`GouraudMaterial` was not utilizing `uLightColor` when it could be. This functionality was previously added to `PhongMaterial` and `DiffuseMaterial`.

<h3> Method

A new varying type called `vLightColor` was added, and uses a similar calculation as `PhongMaterial` except done per-vertex. A varying was used so that light color could be computed with the sampled texture fragment.

<h3> Usage

Simply call `myLight.setColor(myLightColor)`. See `ALight` for more information.