Как правильно инкапсулировать методы одного класса в методы другого?
Никогда не делайте #include где-либо, кроме начала файла.
1 ошибка. Инклюд внутри функции. Поместите эти инклюды в начало файла lib.h.
2 ошибка. В методе lib::open() вы пытаетесь создать на стеке локальную версию объекта EthernetClient. Когда метод завершится, должен быть вызван его деструктор класса.