Как создать класс с копией статических методов другого класса?
вот скажите, зачем вам классы? только потому что автозагрузки функций нету?class Function {
    public static function foo() {
         return 'foo';
    }
    public static function bar() {
         return 'bar';
    }
}

class Html {
    public static function __callStatic($name, $arguments) {
         // разрешаем вызывать только foo
         if (!in_array($name, ['foo'])) {
              throw new \RuntimeException(sprintf('Unable to find method %s in class %s', $name, __CLASS__));
         }

         return call_user_func_array(['Functions', $name], $arguments);
    }
}

Html::foo() // 'foo'
Html::bar() // exception
только добавьте в phpdoc аннотации методов
либо сделайте так:class Html {
    public static function foo() {
           return Functions::foo();
    }
}
так будет правильнее.
p.s. я не знаю зачем вы это делаете, просто знайте. Вы делаете нехорошие вещи.
что мешает, если "не требуются все методы" и не использовать их? или есть причины, чтобы их и нельзя было использовать, даже если захочется? Как вариант - создать абстрактный суперкласс. т.е. над Functions создать еще класс, и уже на основе него создавать остальное. Определить в нем некие характеристики, которые обязательно нужны везде. А вариации уже у наследников прописывать. И Html  будет дочерним элементом не Functions, а этого абстрактного суперкласса.