Implemented camera

- Created custom renderer class to handle camera
- Camera is actually just a node that the view is centered on
Made nodes parentable

- Nodes can now be attached to a parent node, their x/y values then
  become relative to their parent node, with appropriate trigonometry
  applied to handle parent node rotation