Feature/nodeless cameras lights

Currently, the engine has a pc.GraphNode class for defining transformation hierarchies. pc.CameraNode, pc.LightNode and pc.Entity all subclass pc.GraphNode. I believe we should refactor the engine so that the only thing that can build hierarchies is a pc.Entity. Therefore, we have to perform 2 steps:

1. Make pc.CameraNode and pc.LightNode no longer subclass from pc.GraphNode. Instead, they will reference a pc.GraphNode. They become pc.Light and pc.Camera and become internal (non-API) and are hidden from the docs. From this point, you have to rely on the camera and light components.
2. Merge pc.GraphNode with pc.Entity, making pc.Entity the only object capable of defining hierarchies.

If we use entities uniformly for the entire hierarchy, it means we can attach components anywhere. For example, it will become trivial to add a particle system component on the hand bone of a character. Very powerful!