Added basic recursion. Current problems: Colors don't get reset correctly after recursion, calling an object recursively twice results in an invalid transformation(?) matrix