docs: def load_objects(self, dirs=[], callwith={}):
          '''
          Call this to load resources from each dir in @dirs. Code resources will 
          receive @callwith as an argument.
          '''
          for d in dirs:
              contents = ls(d)
              for t in contents:
                  first = join(d, t)
                  if t.startswith('.') or os.path.isfile(first):
                      continue
                  t_l = t.lower()
                  for fl in ls(first):
                      full = join(first, fl)
                      if fl.startswith('.') or os.path.isdir(full):
                          continue
                      fl_n = fl.lower().rsplit('.', 1)[0]
                      ty = guess_type(full)
                      if ty == T_IMAGE:
                          self.load_image(full, fl_n, t)
                      elif ty == T_SOUND:
                          self.load_sound(full, fl_n, t)
                      elif ty == T_MUSIC:
                          self.load_music(full, fl_n, t)
                      elif ty == T_CODE and fl_n == '__init__':
                          self.load_code(d, t, callwith)
                      elif ty == T_PLAYLIST:
                          self.load_playlist(full, fl_n)