Refactoring box and triangle into things based on planes!
Added support for lights

also finished refactoring
and now groups can contain groups
Added a couple typechecking methods -- I know this is sort of anti-ruby? But also... eh?