Update lights to use targets for rotation

@kadst43 @eric79 This allows you to set a position in the form of a three-element array or a node id as the camera's target to properly update its rotation. This moves us more in line with threejs. I don't think this is complete enough for VWF entirely, but it will suffice for Mars-Game.

Eric, if there's anything you want to see here for VWF, let me know and I'll add it in.

Required for: https://github.com/virtual-world-framework/mars-game/pull/255