code: function Physics(opts, testSolid, testFluid) {
      opts = Object.assign({}, defaults, opts)
  
      this.gravity = opts.gravity
      this.airDrag = opts.airDrag
      this.fluidDensity = opts.fluidDensity
      this.fluidDrag = opts.fluidDrag
      this.minBounceImpulse = opts.minBounceImpulse
      this.bodies = []
  
      // collision function - TODO: abstract this into a setter?
      this.testSolid = testSolid
      this.testFluid = testFluid
  }
docs: /*
  CONSTRUCTOR - represents a world of rigid bodies.
  
  Takes testSolid(x,y,z) function to query block solidity
  Takes testFluid(x,y,z) function to query if a block is a fluid