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 by: https://github.com/virtual-world-framework/mars-game/pull/255
This looks pretty good ... just two comments:

1. You'll want to add a line to `gettingProperty` for `target` as well so we'll be able to get the value back from the driver.
2. Since `value` is returned to the kernel at the end of `settingProperty`, it feels slightly cleaner to keep the return values in VWF terms, rather than three.js terms ... so I'm thinking `propertyValue` instead of a `THREE.Vector3` and 'this.state.nodes[ propertyValue ]` instead of the `threeObject`.  It doesn't strictly matter because the kernel only cares whether it's `undefined` or not ... so feel free to ignore me ... it just feels cleaner.