added camera
Rewrote spatial rotations and added distance function
Added a bunch of comments in a jsdoc format, updated constructor with options