Move all Hue specific classes into namespaces and load using autoload.
Move the hue config into config.json.
Add getLightById method and more light properties.
Add layer support.

The base layer is the automatic profile based one, and on top any number
of static layers can be applied. These static layers can set one base state
that will be applied to all lights, and then specify per-light states that
will override this base state.

The intention is to eventually support additive og multiplicative blending
between layers so that a layer can be used to selectively override/tweak/
boost/dim certain lights, but for now any active layer will override the
layer beneath it.
Allow partial LightState objects.

This allows creating states which only affect certain channels. The "off"
state can now simply set brightness to zero, and the color will be fetched
from any state it's blended with, or simply left untouched from whatever
it is already set to.

This change also makes it possible to declare states inline everywhere
states are referenced in the config file. Sometimes declaring a named
state is overkill for stuff like simple overrides, so this is useful.
Move state interpolation into LightState.

Probably makes sense, even if its a bit too OO for my liking. A standalone
function would probably be nicer.
Add beginnings of proper user interface.

With Symfony-driven API.
Use method constants defined in HttpRequest instead of global ones.
Lights: Package up for use with composer.